单个爬取实现,怎样批量爬取
我现在只会爬取一个案例,不知道怎么批量爬取,请教一下大佬! 通过URL解析得知,文章页面地址具有一定的规律性,比如:分类:
物体打击: http://www.safehoo.com/Case/Case/Hit/
起重伤害:http://www.safehoo.com/Case/Case/Crane/
机械伤害:http://www.safehoo.com/Case/Case/Machine/
文章地址可以通过枚举分类下的页面URL 得到,然后对URL进行批量采集后,再爬取即可。不是很复杂。 协程或者多线程 封装成方法,然后将变动的参数传到方法里执行,用循环去调用,返回自己所需要的内容,觉得慢就拓展开来,格局打开,加上多线程执行循环~~{:1_904:} 到文章列表页面开始爬,可以拿到详情页的url,拼接一下就可以拿到了
```
import requests
from lxml import etree
url = 'https://www.safehoo.com/Case/Case/Collapse/List_46.shtml'
response = requests.get(url)
response.encoding=response.apparent_encoding
et = etree.HTML(response.text)
index_list=et.xpath('//div[@class="childclass_content"]/li')
for i in index_list:
index_title=i.xpath('.//a/text()')
index_url=i.xpath('.//a/@href')
print(f'详情页链接:https://www.safehoo.com{index_url},文章标题:{index_title}')
```
多线程性能更好 for循环函数 可以找到链接规律,在循环体中每次爬取后更新下一次爬取的地址。 //div[@class='lm_lb']/span/a/@href 找这个元素(下一页)这个可以一直找到最后一页 多线程下载,学习学习
页:
[1]