521zlx 发表于 2024-1-5 21:35

单个爬取实现,怎样批量爬取

我现在只会爬取一个案例,不知道怎么批量爬取,请教一下大佬!

frankiy52 发表于 2024-1-5 22:01

通过URL解析得知,文章页面地址具有一定的规律性,比如:

分类:
物体打击: http://www.safehoo.com/Case/Case/Hit/
起重伤害:http://www.safehoo.com/Case/Case/Crane/
机械伤害:http://www.safehoo.com/Case/Case/Machine/

文章地址可以通过枚举分类下的页面URL 得到,然后对URL进行批量采集后,再爬取即可。不是很复杂。

鬼手56 发表于 2024-1-5 22:03

协程或者多线程

329337656 发表于 2024-1-5 22:18

封装成方法,然后将变动的参数传到方法里执行,用循环去调用,返回自己所需要的内容,觉得慢就拓展开来,格局打开,加上多线程执行循环~~{:1_904:}

才不是弱受 发表于 2024-1-5 22:29

到文章列表页面开始爬,可以拿到详情页的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}')
```



FruitBaby 发表于 2024-1-5 22:49

多线程性能更好

sai609 发表于 2024-1-6 09:41

for循环函数

AronnaxM 发表于 2024-1-6 09:57

可以找到链接规律,在循环体中每次爬取后更新下一次爬取的地址。

milu1123 发表于 2024-1-6 10:57

//div[@class='lm_lb']/span/a/@href      找这个元素(下一页)这个可以一直找到最后一页

zxmak47 发表于 2024-1-6 14:29

多线程下载,学习学习
页: [1]
查看完整版本: 单个爬取实现,怎样批量爬取