| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -45,6 +45,7 @@ Urllib2:data为string | |||
| 45 | 45 | ``` | |
| 46 | 46 | ||
| 47 | 47 | ### 2. 对于反爬虫机制的处理 | |
| 48 | + | ||
| 48 | 49 | ** 2.1 模拟登陆情况 ** | |
| 49 | 50 | 这种属于post请求情况,先向服务器发送表单数据,服务器再将返回的cookie存入本地。 | |
| 50 | 51 | ``` | |
@@ -57,7 +58,8 @@ Urllib2:data为string | |||
| 57 | 58 | data = urllib.urlencode(data) # 编码工作,由dict转为string | |
| 58 | 59 | req = urllib2.Request(url=url, data=data) # POST请求发送,可用于用户名密码登陆情况 | |
| 59 | 60 | response = urllib2.urlopen(req) | |
| 60 | - ``` | ||
| 61 | + ``` | ||
| 62 | + | ||
| 61 | 63 | ** 2.2 使用cookie登陆情况 ** | |
| 62 | 64 | 使用cookie登陆,服务器会认为你是一个已登陆的用户,所以就会返回给你一个已登陆的内容。因此,需要验证码的情况可以使用带验证码登陆的cookie解决。 | |
| 63 | 65 | ``` | |
@@ -73,7 +75,8 @@ response2 = requests_session.get(url_login) # 已登陆,因为之前拿到了R | |||
| 73 | 75 | response3 = requests_session.get(url_results) # 已登陆,因为之前拿到了Response Cookie! | |
| 74 | 76 | ``` | |
| 75 | 77 | 相关参考:[网络爬虫-验证码登陆](http://www.lining0806.com/6-%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB-%E9%AA%8C%E8%AF%81%E7%A0%81%E7%99%BB%E9%99%86/) | |
| 76 | - 参考项目:[爬取知乎网站](https://github.com/lining0806/ZhihuSpider) | ||
| 78 | + 参考项目:[爬取知乎网站](https://github.com/lining0806/ZhihuSpider) | ||
| 79 | + | ||
| 77 | 80 | ** 2.3 伪装成浏览器,或者反“反盗链” ** | |
| 78 | 81 | ``` | |
| 79 | 82 | headers = {'User-Agent':'XXXXX'} # 伪装成浏览器访问,适用于拒绝爬虫的网站 | |
| Back | FazBrowse Home | New Git URL |
0 commit comments