Python爬虫入门<八>—链接爬虫实战
标签:链接爬虫实
进过前面的学习,我们直接来看看最简单的爬虫,链接爬虫,也就是说,我们这个爬虫就是去爬取一个网页的所有链接
代码:
import re
import urllib.request
def getlink(url):
req = urllib.request.Request(url)
# 模拟浏览器
req.add_header=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0")
file=urllib.request.urlopen(req)
data=str(file.read())
# 正则表达式
pat='(https?://[^\s)";]+\.(\w|/)*)'
link=re.compile(pat).findall(data)
#去重
link=list(set(link))
return link
url="http://www.baidu.com/"
linklist=getlink(url)
for link in linklist:
print(link[0])
结果:
...
http://api.open.baidu.com
http://www.baidu.com
http://map.baidu.com
http://b1.bdstatic.com
http://t3.baidu.com
http://t1.baidu.com
https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com
...
所以,这就是最简答的爬虫
我们来拉一下思路:
1.创建getlink()函数
2.模拟浏览器访问
3.创建正则表达式
4.去重
6.访问url