wangwang123 发表于 2021-10-25 21:55:45

通过正则法则爬取网页数据问题

在百度爬虫的过程中,我通过html更改 (pn)https://www.baidu.com/s?wd=“搜索的内容” pn=20, 来翻页获取信息,但是我在一些网页上发现有些网页的分页不是通过pn改变的,那么怎么批量获取分页的网络信息呢?
例如:同花顺http://q.10jqka.com.cn/,里面有个股分页{:5_104:}
希望有大佬可以帮忙解答,或者告诉我下一步该去学什么。
万分感谢~

suchocolate 发表于 2021-10-25 22:57:21

本帖最后由 suchocolate 于 2021-10-25 23:02 编辑

翻页这种操作要分网站的:
1)有的网站改url,如原来是:abc.com/top/变成了 abc.com/second/
2)有的网站改url参数:如原来是 abc.com/top?pn=1 变成了 abc.com/top?pn=2
3)还有的网站要写在data中。import requests
url = 'http://test.com'
data = {'page': '1'}
headers = {'user-agent': 'firefox'}
r = requests.get(url, headers=headers, data=data)
print(r.text)

你的股票的网址用的是第1种:
import requests
from lxml import etree


def main():
    headers = {'user-agent': 'firefox', 'X-Requested-With': 'XMLHttpRequest'}
    for i in range(1, 10):
      url = f'http://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/{i}/ajax/1/'   # 替换其中的页码编号
      r = requests.get(url, headers=headers)
      html = etree.HTML(r.text)
      result = html.xpath('//tr//text()')
      print(result)


if __name__ == '__main__':
    main()

wangwang123 发表于 2021-10-26 00:24:26

suchocolate 发表于 2021-10-25 22:57
翻页这种操作要分网站的:
1)有的网站改url,如原来是:abc.com/top/变成了 abc.com/second/
2)有的 ...

牛!

wangwang123 发表于 2021-10-26 00:31:47

suchocolate 发表于 2021-10-25 22:57
翻页这种操作要分网站的:
1)有的网站改url,如原来是:abc.com/top/变成了 abc.com/second/
2)有的 ...

同花顺这个url 是怎么获得的? 我用chorme 就是不变的。。

suchocolate 发表于 2021-10-26 08:07:32

wangwang123 发表于 2021-10-26 00:31
同花顺这个url 是怎么获得的? 我用chorme 就是不变的。。

我用的firefox,f12模式,点击网络,点击下一页,url就会多出html,json等等资源加载过程,就能看到了。

wangwang123 发表于 2021-10-26 11:22:02

suchocolate 发表于 2021-10-26 08:07
我用的firefox,f12模式,点击网络,点击下一页,url就会多出html,json等等资源加载过程,就能看到了。
...

太棒了!谢谢你~
页: [1]
查看完整版本: 通过正则法则爬取网页数据问题