python - 使用 selenium 发布网页抓取 javascript 网站
问题描述
我在为这个大量使用 javascript 的网站构建网络爬虫时遇到问题。我的代码如下:
from pyvirtualdisplay import Display
from selenium import webdriver
from bs4 import BeautifulSoup
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Chrome()
#Page 1
url1 = 'https://www.zalora.co.id/women/pakaian/atasan/?gender=women&dir=desc&sort=popularity&category_id=704&page=1'
browser.get(url1)
soup_1 = BeautifulSoup(browser.page_source, 'html5lib')
page_script_1 = soup_1.findAll('script')[40].text
#Page 2
url2 = 'https://www.zalora.co.id/women/pakaian/atasan/?gender=women&dir=desc&sort=popularity&category_id=704&page=2'
browser.get(url2)
page_script_2 = soup.findAll('script')[40].text
soup_2 = BeautifulSoup(browser.page_source, 'html5lib')
page_script_2 = soup_2.findAll('script')[40].text
所需的输出是 2 个不同页面的 html(即 page_script_1 中的值应该与page_script_2不同)
但是,两种情况下的输出似乎是相同的。有谁知道为什么?
(注意,我基本上是想把所有页面上的产品都刮掉)
解决方案
推荐阅读
- ios - 如何在 xamarin 中让第一个响应者触摸滚动视图
- python - 如何从自然排序中获取索引?
- sql - 如何在不同的表上创建包含 SUM 的 Select 语句
- javascript - javascript/jquery $.get 和 python 后端的挑战
- charles-proxy - 在 Catalina 上配置 Charles 代理
- google-cloud-sql - 无法从已部署的 App Maker 应用连接到 Cloud SQL
- computer-science - 是否所有编程语言都有结束整个程序的语法?
- git - Azure DevOps - 在 Git 子模块中使用 YAML 模板
- php - 在php中从双破折号中删除所有字符串
- angular - 如何默认选择复选框?
, 角材料