Python 爬虫篇 - 通过urllib.request伪装成浏览器绕过反爬虫爬取网页所有连接实例演示,urllib2库的安装

Posted 挣扎的蓝藻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 爬虫篇 - 通过urllib.request伪装成浏览器绕过反爬虫爬取网页所有连接实例演示,urllib2库的安装相关的知识,希望对你有一定的参考价值。

新版的 pythonurllib2 改成了 urllib.request,所以直接导入 urllib2 会报错。
这是我通过 chrome92 版本的浏览器发送请求的时候抓到的头部信息,只要我在发送请求时引用一个 User-Agent 信息就可以了。

Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/92.0.4515.131 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

访问的是 淘宝的 python 安装包镜像
没有伪装浏览器,在访问一定次数后就访问不了了,伪装后就没有限制了。

import urllib.request as urllib2
 
headers = {
	'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}
url = "http://npm.taobao.org/mirrors/python/"
request = urllib2.Request(url, headers=headers)
html_content = urllib2.urlopen(request).readlines()

for i in html_content:
    i = str(i)
    if("href=" in i and ">" in i):
        a = i.index("href=");
        b = i.index(">");
        i = i[a+6:b-1]
        print(i)

爬取所有的 a 元素,并提取 href 里面的内容。

效果图如下:

喜欢的点个赞❤吧!

以上是关于Python 爬虫篇 - 通过urllib.request伪装成浏览器绕过反爬虫爬取网页所有连接实例演示,urllib2库的安装的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶篇:Python简单爬虫

2017.08.10 Python爬虫实战之爬虫攻防篇

Python爬虫开发第1篇Scrapy入门

python爬虫篇之 Scrapy框架安装

Python 爬虫篇 - 通过urllib.request伪装成浏览器绕过反爬虫爬取网页所有连接实例演示,urllib2库的安装

Python瞎老弟的爬虫心得之requests篇②requests基本使用