分别用selenium和scrapy爬取网站(一)

本文介绍了如何使用selenium配合PhantomJS(或Chrome)爬取美食网站信息。首先,介绍了selenium的下载安装和环境配置,然后通过selenium打开浏览器,自动搜索美食并模拟用户操作。在页面加载完成后,获取总页数,并通过审查元素获取商品信息,如图片、价格、成交量、标题、店铺名和地址。文章还提到了异常处理以及如何将信息保存到数据库。最后讨论了如何切换到无头浏览器PhantomJS,并强调了良好的编程习惯,如关闭浏览器和数据库连接。
摘要由CSDN通过智能技术生成

用selenuim抓取“美食”网页信息

一、下载安装selenuim、PhantomJS(Chrome),并配置好环境。
二、利用selenium打开浏览器,设计爬取过程。

from selenium import webdriver
browser = webdriver.Chrome()

运行上述程序,程序会自动调用chrome浏览器。

  • 打开淘宝首页,在搜索框中输入“美食“,并且点击”搜索“按钮。
  • 参考selenium python官方文档: http://selenium-python.readthedocs.io/waits.html,利用selenium模仿输入、点击等操作。首先,添加以下import信息。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
  • 输入框和点击按钮的获取方法如下:
browser.get('https://www.taobao.com')
wait=WebDriverWait(browser, 10)
input = wait.until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#q"))
 )
submit=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#J_TSearchForm > div.search-button > button")) 
  • 查看官方文档,找到利用selenium向输入框输入文字及点击按钮的方法
 input.send_keys("美食")
 submit.click()
  • 何时页面算加载完成?观察到页面最下方有一个页码栏,找到该搜索一共包含多少页。若出现了总共的页数,则视为页面加载完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值