爬取跳页后url不变的网页数据

目标网址:http://www.linked-brain-data.org/relateness/ListProtein2Gene?link=link3  

该网页上的内容为与脑疾病有关的蛋白质基因等数据,对于跳页后URL变化的网站,可以观察url的变化情况,从而用一个循环就可爬取不同页面的数据内容。

但目标网页跳页后url未变化,是用了js跳页,针对这种情况,我在查阅资料时了解到有两种方法可以解决(1)用自动化测试工具selenium来模仿鼠标点击下一页,但这种方法比较慢而且不适用于大数据(https://www.cnblogs.com/sanduzxcvbnm/p/10276617.html)(2)抓包分析 (可用Fiddler,也可直接F12看network) 本次用第二种方法,该HTML采用了GET方法(不是POST),找到和页数有关的内容pagenum,代码如下:

 

import requests
import pandas as pd
import csv
for i in range(1,5568): #跳页
    data={
       'pagenum':i
         }
    url='http://www.linked-brain-data.org/relateness/ListProtein2Gene?link=link3'
    s  = requests.session()
    d=s.get(url, params = data)
    tb = pd.read_html(d.text)[0] #
    tb.to_csv(r'Protein-Gene.csv', mode='a', encoding='utf_8_sig', header=0, index=0)
print('抓取完成')

由于抓取的是该网页的表格数据,所以直接用了panda库读取表格的操作,这种更为简单。

另外对于一般网页数据的爬取,excel也可以做到。

  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值