• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python数据抓取3种方法总结

    三种数据抓取的方法

    *利用之前构建的下载网页函数,获取目标网页的html,我们以https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/为例,获取html。

    from get_html import download
    
    url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'
    page_content = download(url)
    

    *假设我们需要爬取该网页中的国家名称和概况,我们依次使用这三种数据抓取的方法实现数据抓取。

    1.正则表达式

    from get_html import download
    import re
    
    url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'
    page_content = download(url)
    country = re.findall('class="h2dabiaoti">(.*?)/h2>', page_content) #注意返回的是list
    survey_data = re.findall('tr>td bgcolor="#FFFFFF" id="wzneirong">(.*?)/td>/tr>', page_content)
    survey_info_list = re.findall('p>  (.*?)/p>', survey_data[0])
    survey_info = ''.join(survey_info_list)
    print(country[0],survey_info)
    

    2.BeautifulSoup(bs4)

    from get_html import download
    from bs4 import BeautifulSoup
    
    url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'
    html = download(url)
    #创建 beautifulsoup 对象
    soup = BeautifulSoup(html,"html.parser")
    #搜索
    country = soup.find(attrs={'class':'h2dabiaoti'}).text
    survey_info = soup.find(attrs={'id':'wzneirong'}).text
    print(country,survey_info)
    

    3.lxml

    from get_html import download
    from lxml import etree #解析树
    
    url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'
    page_content = download(url)
    selector = etree.HTML(page_content)#可进行xpath解析
    country_select = selector.xpath('//*[@id="main_content"]/h2') #返回列表
    for country in country_select:
     print(country.text)
    survey_select = selector.xpath('//*[@id="wzneirong"]/p')
    for survey_content in survey_select:
     print(survey_content.text,end='')
    

    运行结果:

    最后,引用《用python写网络爬虫》中对三种方法的性能对比,如下图:

    仅供参考。

    总结

    到此这篇关于python数据抓取3种方法的文章就介绍到这了,更多相关python数据抓取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python采用requests库模拟登录和抓取数据的简单示例
    • Python爬虫抓取手机APP的传输数据
    • 通过抓取淘宝评论为例讲解Python爬取ajax动态生成的数据(经典)
    • python抓取某汽车网数据解析html存入excel示例
    • Python实现并行抓取整站40万条房价数据(可更换抓取城市)
    • Python基于多线程实现抓取数据存入数据库的方法
    • 对python抓取需要登录网站数据的方法详解
    • 在Python3中使用asyncio库进行快速数据抓取的教程
    • Python抓取京东图书评论数据
    • 使用Python抓取豆瓣影评数据的方法
    上一篇:python 批量将中文名转换为拼音
    下一篇:django inspectdb 操作已有数据库数据的使用步骤
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python数据抓取3种方法总结 python,数据,抓取,3种,方法,