Python实现爬虫设置代理IP和伪装成浏览器的方法分享


本文摘自php中文网,作者不言,侵删。

这篇文章主要介绍了关于Python实现爬虫设置代理IP和伪装成浏览器的方法分享,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

1.python爬虫浏览器伪装

1

2

3

4

5

6

7

8

9

10

11

12

#导入urllib.request模块

import urllib.request

#设置请求头

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")

#创建一个opener

opener=urllib.request.build_opener()

#将headers添加到opener中

opener.addheaders=[headers]

#将opener安装为全局

urllib.request.install_opener(opener)

#用urlopen打开网页

data=urllib.request.urlopen(url).read().decode('utf-8','ignore')

2.设置代理

1

2

3

4

5

6

7

8

9

10

#定义代理ip

proxy_addr="122.241.72.191:808"

#设置代理

proxy=urllib.request.ProxyHandle({'http':proxy_addr})

#创建一个opener

opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle)

#将opener安装为全局

urllib.request.install_opener(opener)

#用urlopen打开网页

data=urllib.request.urlopen(url).read().decode('utf-8','ignore')

3.同时设置用代理和模拟浏览器访问

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#定义代理ip

proxy_addr="122.241.72.191:808"

#创建一个请求

req=urllib.request.Request(url)

#添加headers

req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)

#设置代理

proxy=urllib.request.ProxyHandle("http":proxy_addr)

#创建一个opener

opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle)

#将opener安装为全局

urllib.request.install_opener(opener)

#用urlopen打开网页

data=urllib.request.urlopen(req).read().decode('utf-8','ignore')

4.在请求头中添加多个信息

1

2

3

4

5

6

7

import urllib.request

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",

       "Host":"www.baidu.com",

       "Cookie":"xxxxxxxx"

       }

req=urllib.request.Request(url,headers=page_headers)

data=urllib.request.urlopen(req).read().decode('utf-8','ignore')

5.添加post请求参数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import urllib.request

import urllib.parse

#设置post参数

page_data=urllib.parse.urlencode([

                  ('pn',page_num),

                  ('kd',keywords)

                  ])

#设置headers

page_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',

     'Connection':'keep-alive',

     'Host':'www.lagou.com',

     'Origin':'https://www.lagou.com',

     'Cookie':'JSESSIONID=ABAAABAABEEAAJA8F28C00A88DC4D771796BB5C6FFA2DDA; user_trace_token=20170715131136-d58c1f22f6434e9992fc0b35819a572b',

     'Accept':'application/json, text/javascript, */*; q=0.01',

     'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',

     'Referer':'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98?labelWords=&fromSearch=true&suginput=',

     'X-Anit-Forge-Token':'None',

     'X-Requested-With':'XMLHttpRequest'

     }

#打开网页

req=urllib.request.Request(url,headers=page_headers)

data=urllib.request.urlopen(req,data=page_data.encode('utf-8')).read().decode('utf-8')

6.利用phantomjs模拟浏览器请求

1

2

3

4

5

6

7

8

9

#1.下载phantomjs安装到本地,并设置环境变量

from selenium import webdriver

bs=webdriver.PhantomJS()

#打开url

bs.get(url)

#获取网页源码

url_data=bs.page_source

#将浏览到的网页保存为图片

bs.get_screenshot_as_file(filename)

7.phantomjs设置user-agent和cookie

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

from selenium import webdriver

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

dcap = dict(DesiredCapabilities.PHANTOMJS)

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")

bs = webdriver.PhantomJS(desired_capabilities=dcap)

bs.get(url)

#删除cookie

bs.delete_all_cookies()

#设置cookie

#cookie格式:在浏览器cookie中查看,一个cookie需要包含以下参数,domain、name、value、path

cookie={

  'domain':'.www.baidu.com', #注意前面有.

  'name':'xxxx',

  'value':'xxxx',

  'path':'xxxx'

  }

#向phantomjs中添加cookie

bs.add_cookie(cookie)

8.利用web_driver工具

1

2

3

4

5

6

#1.下载web_driver工具(如chromdriver.exe)及对应的浏览器

#2.将chromdriver.exe放到某个目录,如c:\chromdriver.exe

from selenium import webdriver

driver=webdriver.Chrome(executable_path="C:\chromdriver.exe")

#打开url

driver.get(url)

相关推荐:

Python视频爬虫实现下载头条视频

Python爬虫抓取代理IP并检验可用性的实例

Python采集代理ip并判断是否可用和定时更新的方法

以上就是Python实现爬虫设置代理IP和伪装成浏览器的方法分享的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python和selenium开发环境搭建的图文教程

Python解决pandas处理缺失值为空字符串的问题

Python有关名字绑定的相关介绍

Python判断字符类型怎么做

Python在循环引用中如何管理内存

Python的系统学习实例

Python安装jieba失败怎么办?

解决Python升级导致yum、pip报错的方法

Python人工智能需要学什么

Python里百分号什么意思

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...