qianaonan 发表于 2022-7-31 21:16

用最简单的语法写个下拉显示更多内容页面爬虫

本帖最后由 qianaonan 于 2022-7-31 21:18 编辑

我是个初学者,写的不好的地方请各位多多包涵,我用的是edge浏览器。
这个爬虫我是为了爬一些网页下拉会显示更多内容的小爬虫。这里我这个新学者就不提供帮助了。
引入库我是没有改按照我之前的帖子写的,自己可以精简。
爬这类网页,首先你得打开你需要爬取的页面然后按f12选中fetch/xhr记录网路活动,按住ctrl+r刷新网页,然后下拉这边网络活动会显示好几栏会显示有内容,然后你把这个按顺序取2到3个把它复制出来然后看网址,一般开头都一样最后会显示不一样比如page这一类,你就需要把这个网址page后面的数字改掉以及后面的内容删掉然后填入浏览器访问看是否能访问以及会显示json内容,那么你就可以用一下代码了,把page后免加个{}。
import re
import requests
import json #引入json库
import operator
from lxml import etree
# 爬取的网址
base_url = '填入你的ajax的网址'

# 请求头
for i in range(1000):
    url=base_url.format(i)
    header = {
      "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"}
    html = requests.get(url, headers=header).text
    etree_html = etree.HTML(html)
    names= etree_html.xpath('xpath')
    print(names)
最后xpath的内容,比如论坛你f12用选中框复制两个完整的xpath后看区别,一般前面都是相同的,后面会在某一字母后面的数字有变化,那么删除数字最后面加个/text(),看是否能输出,不能就不加text()试试,如果还不行那我这个新学者也没办法,剩下的数据处理不再多赘述(这个一般用来爬一些论坛或者新闻比较好用)。
我只是提供一种爬取方式,如有说的写的不好的请多多谅解!

参考视频:https://www.bilibili.com/video/BV1z541167mu?p=8&vd_source=a1361154792b030d83ca71a37c2b3804这个里面的老师,我觉得讲的比较详细,你们可以看看。{:1_893:}

tlpking 发表于 2022-7-31 22:14

这个ajax方案不错

ysjd22 发表于 2022-8-1 06:36

学习一下,谢谢分享

ErXing 发表于 2022-8-1 07:26

谢谢分享

virsnow 发表于 2022-9-29 14:37

正需要,我去试试!
页: [1]
查看完整版本: 用最简单的语法写个下拉显示更多内容页面爬虫