urllib pyquery的简单实用 phantomjs
比较 urllib使用相对比pyquery繁琐
后者自带解析html工具 高效方便 建议抓取html页面的话使用pyquery
调用接口的话使用Request
urllib
1 | import urllib.request |
输出 百度返回的html
解析
首先引入了urllib模块 然后使用了该模块的request模块中的urlipen方法,像百度的服务器发送了 请求
然后等待返回内容 我们使用read方法读取设置编码为utf-8
如果不设置编码的话 会输出一堆压缩解析的乱码 可自测
设置请求头1
2form urllib.request import Request
urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
headers = {
此处设置请求头
}
pyquery的使用
selenium使用
问题
使用pyquery可以爬取一号店,京东,飞牛,苏宁,淘宝 无法爬取天猫,亚马逊的商城
解决办法
计划使用selenium通过操作浏览器去模仿鼠标事件 进行自动查找
第一步 下载安装selenium
pip install selenium
第二部下载谷歌驱动
谷歌浏览器驱动下载地址
第三部 将驱动解压以后放置到和谷歌浏览器同级目录下
第四部 执行以下代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18from selenium import webdriver
import os
#引入chromedriver.exe
chromedriver = "C:/Users/Administrator/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)
#设置浏览器需要打开的url
url = "http://www.baidu.com"
browser.get(url)
#在百度搜索框中输入关键字"python"
browser.find_element_by_id("kw").send_keys("python")
#单击搜索按钮
browser.find_element_by_id("su").click()
#关闭浏览器
#browser.quit()
程序会自动打开浏览器进去百度页面搜索 python关键词
selenium元素查找基本手册