Python爬虫入门<八>—链接爬虫实战

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

猜你喜欢

转载自blog.csdn.net/Travelerwz/article/details/79824724