-
32025年5月
-
262025年4月
-
272025年3月
-
282025年2月
-
162025年1月
-
282024年4月
-
302024年3月
-
292024年2月
-
312024年1月
-
312023年12月
-
302023年11月
-
312023年10月
-
302023年9月
-
312023年8月
-
352023年7月
-
312023年6月
-
312023年5月
-
302023年4月
-
312023年3月
-
282023年2月
-
312023年1月
-
312022年12月
-
302022年11月
-
312022年10月
-
302022年9月
-
312022年8月
-
322022年7月
-
292022年6月
-
322022年5月
-
302022年4月
-
332022年3月
-
312022年2月
-
372022年1月
-
382021年12月
-
382021年11月
-
402021年10月
-
432021年9月
-
372021年8月
-
442021年7月
-
442021年6月
-
432021年5月
-
342021年4月
-
312021年3月
-
292021年2月
-
352021年1月
-
422020年12月
-
402020年11月
-
482020年10月
-
522020年9月
-
852020年8月
-
752020年7月
-
802020年6月
-
782020年5月
-
772020年4月
-
432020年3月
-
362020年2月
-
452020年1月
-
562019年12月
-
712019年11月
-
612019年10月
-
562019年9月
-
532019年8月
-
362019年7月
-
362019年6月
-
382019年5月
-
402019年4月
-
352019年3月
-
342019年2月
-
442019年1月
-
392018年12月
-
402018年11月
-
392018年10月
-
392018年9月
-
452018年8月
-
452018年7月
-
392018年6月
-
512018年5月
-
492018年4月
-
342018年3月
-
282018年2月
-
482018年1月
-
732017年12月
-
7292017年11月
-
7442017年10月
-
2892017年9月
-
12017年8月
一 :python爬虫浏览器伪装
1 #导入urllib.request模块
2 import urllib.request
3 #设置请求头
4 headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
5 #创建一个opener
6 opener=urllib.request.build_opener()
7 #将headers添加到opener中
8 opener.addheaders=[headers]
9 #将opener安装为全局
10 urllib.request.install_opener(opener)
11 #用urlopen打开网页
12 data=urllib.request.urlopen(url).read().decode('utf-8','ignore')
二 :设置代理
1 #定义代理ip
2 proxy_addr="122.241.72.191:808"
3 #设置代理
4 proxy=urllib.request.ProxyHandle({'http':proxy_addr})
5 #创建一个opener
6 opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle)
7 #将opener安装为全局
8 urllib.request.install_opener(opener)
9 #用urlopen打开网页
10 data=urllib.request.urlopen(url).read().decode('utf-8','ignore')
三 :同时设置用代理和模拟浏览器访问
1 #定义代理ip
2 proxy_addr="122.241.72.191:808"
3 #创建一个请求
4 req=urllib.request.Request(url)
5 #添加headers
6 req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
7 #设置代理
8 proxy=urllib.request.ProxyHandle("http":proxy_addr)
9 #创建一个opener
10 opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle)
11 #将opener安装为全局
12 urllib.request.install_opener(opener)
13 #用urlopen打开网页
14 data=urllib.request.urlopen(req).read().decode('utf-8','ignore')
四 :在请求头中添加多个信息
1 import urllib.request
2 page_headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0",
3 "Host":"www.baidu.com",
4 "Cookie":"xxxxxxxx"
5 }
6 req=urllib.request.Request(url,headers=page_headers)
7 data=urllib.request.urlopen(req).read().decode('utf-8','ignore')
五 :添加post请求参数
1 import urllib.request
2 import urllib.parse
3 #设置post参数
4 page_data=urllib.parse.urlencode([
5 ('pn',page_num),
6 ('kd',keywords)
7 ])
8 #设置headers
9 page_headers={
10 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0',
11 'Connection':'keep-alive',
12 'Host':'www.lagou.com',
13 'Origin':'https://www.lagou.com',
14 'Cookie':'JSESSIONID=ABAAABAABEEAAJA8F28C00A88DC4D771796BB5C6FFA2DDA; user_trace_token=20170715131136-d58c1f22f6434e9992fc0b35819a572b',
15 'Accept':'application/json, text/javascript, */*; q=0.01',
16 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
17 'Referer':'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98?labelWords=&fromSearch=true&suginput=',
18 'X-Anit-Forge-Token':'None',
19 'X-Requested-With':'XMLHttpRequest'
20 }
21 #打开网页
22 req=urllib.request.Request(url,headers=page_headers)
23 data=urllib.request.urlopen(req,data=page_data.encode('utf-8')).read().decode('utf-8')
六 :利用phantomjs模拟浏览器请求
1 #1.下载phantomjs安装到本地,并设置环境变量
2 from selenium import webdriver
3 bs=webdriver.PhantomJS()
4 #打开url
5 bs.get(url)
6 #获取网页源码
7 url_data=bs.page_source
8 #将浏览到的网页保存为图片
9 bs.get_screenshot_as_file(filename)
七 :phantomjs设置user-agent和cookie
1 from selenium import webdriver
2 from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
3 dcap = dict(DesiredCapabilities.PHANTOMJS)
4 dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
5 bs = webdriver.PhantomJS(desired_capabilities=dcap)
6 bs.get(url)
7 #删除cookie
8 bs.delete_all_cookies()
9 #设置cookie
10 #cookie格式:在浏览器cookie中查看,一个cookie需要包含以下参数,domain、name、value、path
11 cookie={
12 'domain':'.www.baidu.com', #注意前面有.
13 'name':'xxxx',
14 'value':'xxxx',
15 'path':'xxxx'
16 }
17 #向phantomjs中添加cookie
18 bs.add_cookie(cookie)
八 :利用web_driver工具
1 #1.下载web_driver工具(如chromdriver.exe)及对应的浏览器
2 #2.将chromdriver.exe放到某个目录,如c:\chromdriver.exe
3 from selenium import webdriver
4 driver=webdriver.Chrome(executable_path="C:\chromdriver.exe")
5 #打开url
6 driver.get(url)