Python通过urllib批量爬取网页链接
2021-03-01 07:26
标签:def 分析 tree 位置 lin nbsp strip() ext int 为了通过爬虫快速获取网站中的信息,我们通常将第一次爬取的网页中的url形成一个待爬取的列表 为了访问网站以及对网站源代码进行分析,这里使用urllib的request库获取网页源代码,使用lxml库对网页进行结构分析。 首先引用需要的库 接下来我们从中获取网页中的url链接以及其文本标题,保存到文件夹中,这里采用文本文件的形式进行保存 从一个网页中获取url列表之后,我们将其进行去重,排序处理,之后就可以循环对列表中的url进行访问了 在爬取的过程中由于高频率的多次访问同一个网站,而正常浏览网页不会出现那么频繁的访问行为,对于有反爬虫或其他保护机制的网站会对异常访问的IP采取访问限制,这里有几种应对措施。 1.对于高频访问导致的访问限制,可以通过主动降低访问频率来避免被服务端限流,可在程序中加入sleep函数增加网站访问的时间间隔。 这里使用python自带的time库 在循环访问网页的位置添加以下代码即可,括号中的delay为希望程序的延迟时间,单位为秒 2.通过代理使用不同的ip地址对网站进行访问。 不同的IP可以在网上找到一些可以使用的免费ip资源,注意大多数ip不是永久有效的。 需要定时更新ip列表。 Python通过urllib批量爬取网页链接 标签:def 分析 tree 位置 lin nbsp strip() ext int 原文地址:https://www.cnblogs.com/btc1996/p/14446832.htmlimport urllib.request
import lxml.etree
def htmlanalyze(url1):
text = requests.get(url1).text
doc = lxml.etree.HTML(text)
root = doc.xpath("/nodename")
print(root)
f=open("./data/"+‘allessi.txt‘,‘a‘)
print(len(text))
for line in text:
line_name = line.xpath("./a/text()")[0].strip()
line_url = line.xpath("./a/@href")[0]
f.write(line_name+‘$$‘+line_url+‘\n‘)
import time
time.sleep(delay)
文章标题:Python通过urllib批量爬取网页链接
文章链接:http://soscw.com/index.php/essay/58449.html