淋97 2021-03-18 16:10 采纳率: 100%
浏览 158
已采纳

如何用pandas爬取一个页面上多个链接里的表格(不是分页)?

网址:http://yjj.henan.gov.cn/zwgk/zqyj/

我目前只会爬里面任意一个面的表格,不会一起循环拿下

爬取这里面的每一个HTML表格

请大神帮助,本人纯属小白

以下是写的第一个链接里面的HTML表格

本来想用XPATH获取,实在不会只好放弃

import requests
from lxml import etree
import pandas as pd
import csv
import os
if __name__ == "__main__":
    
    #河南药监局
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
    }
    url="http://yjj.henan.gov.cn/2020/12-30/2069739.html"
 
    response = requests.get(url=url,headers=headers)
    response.encoding='utf-8'
    page_text=response.text
    tree = etree.HTML(page_text)
    #print( page_text)
df = pd.read_html(page_text, encoding='utf-8', header=0)[0]
df_all.shape
df
df.to_csv('河南省药品监督管理局关于15批次抽检不合格药品的通告(2020年第4期).csv', encoding='utf-8', index=False)

  • 写回答

5条回答 默认 最新

  • 关注

    完整代码

    import requests
    from bs4 import BeautifulSoup
    import time
    import pandas as pd
    import numpy as np
    
    # 请求头
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
    }
    
    url = 'http://yjj.henan.gov.cn/zwgk/zqyj/yp/'
    
    
    # 获取html
    html = requests.get(url,headers=headers)
    # 统一编码
    #html.encoding =html.apparent_encoding
    data = html.text
    # 转换成soup
    soup = BeautifulSoup(data,'lxml')
    
    # 链接
    lianjie = soup.select('body > div.zwxxgk_bd > div.zwxxgk_box > div.scroll_main1 > div.zfxxgk_zdgkc > ul > li > a')
    # 获取连接列表
    lis =[]
    for i in lianjie:
        lis.append(i['href'])
        
    # 汇总数据
    data = pd.DataFrame()
    for urli in lis:
        for table in pd.read_html(urli):
            data = data.append(table)
        time.sleep(2)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测