浏览器抓取网页(1.请正确使用网页爬虫非法数据影响他人服务器的正常工作)
优采云 发布时间: 2021-10-07 03:14浏览器抓取网页(1.请正确使用网页爬虫非法数据影响他人服务器的正常工作)
1.请正确使用网络爬虫,不要使用爬虫对非法数据进行爬网,也不要影响其他服务器的正常工作
2.本文抓取的数据是跨境网站商品的公共信息。本文仅用于学习和交流
3.本文附带源代码。爬行时间间隔为10s,数据采集量大于2000
单击此处获取本文的源代码
任务目标
捕获电子商务大数据网站背景下披露的数千个商品数据,并将数据保存在Excel中进行数据分析
难度分析
您需要登录网站会员账号才能在后台查看数据网站反爬网已经设置,因此很难模拟登录。使用selenium控制Chrome浏览器。在测试模式下网站可以识别,无法正常登录账号。数据只有在页面刷新后才能正常显示
解决困难
在线搜索隐藏selenium功能的各种方法失败,因此通过selenium打开新浏览器的方法将不起作用。此外,许多网站可以通过多种功能识别您是否使用了selenium
2.根据研究,可以通过向selenium添加debuggeraddress来控制在该端口上打开的浏览器
(1)输入chrome.exe所在的文件夹,在地址栏中输入“CMD”,然后在此路径下打开CMD窗口
(2)在CMD窗口中,输入以下命令以打开新的Chrome浏览器窗口,在此窗口中打开目标网站,然后登录到成员帐户
(3)在Python代码中,为selenium添加选项。此处添加的端口地址应与上面CMD命令中的端口一致
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
3.您可以通过每次访问和刷新页面获得整个页面的HTML代码,然后使用beatifulsoup进行网页分析,提取商品的有用信息
driver.get(url)
driver.refresh()
time.sleep(10)
html = driver.find_element_by_xpath("//*").get_attribute("outerHTML")
soup = BeautifulSoup(html,'html.parser')
程序逻辑
1.通过打开的浏览器访问目标网站,登录到成员帐户,并转换数据页
# 使用网页驱动来运行chrome浏览器
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(r"C:\Users\E490\Anaconda3\Scripts\chromedriver",options=chrome_options)
# 访问网站首页,停留15s,人工登录后,自动刷新页面,停留10s,并搜索关键词
driver.get(url)
driver.refresh()
time.sleep(10)
html = driver.find_element_by_xpath("//*").get_attribute("outerHTML")
soup = BeautifulSoup(html,'html.parser')
2.分析需要通过浏览器F12获取字段的HTML代码,并能够解析要通过beautiful soup库交换的数据字段
#产品标题
item_name = items_content[0].p['title']
#店铺名称
shop_name = items_content[1].text.strip()
#店铺类型
shop_type = items_content[2].text.strip()
#店铺类目
shop_categroy =items_content[3].text.strip()
#商品折扣价
item_discount_price = items_content[4].text.strip()
3.将采集到的数据及时保存到CSV文件中
#打开csv文件
csv_title = 'lazada'+str(random.randint(100,999))+'.csv'
f = open(csv_title,'a',encoding='utf-8',newline='')
# 基于文件对象构建 csv写入对象
csv_writer = csv.writer(f)
# 构建列表头
csv_writer.writerow(["产品标题","店铺名称","店铺类型","店铺类目","商品折扣价","商品评分","累积评论数"])
4.优化代码,使其能够完成100多个网页的循环访问
5.查看获取的跨境电商商品数据
单击此处获取本文的源代码