主页 > 知识库 > python数据抓取3种方法总结

python数据抓取3种方法总结

热门标签:语音系统 客户服务 呼叫中心市场需求 电话运营中心 Win7旗舰版 企业做大做强 百度AI接口 硅谷的囚徒呼叫中心

三种数据抓取的方法

  • 正则表达式(re库)
  • BeautifulSoup(bs4)
  • lxml

*利用之前构建的下载网页函数,获取目标网页的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数据抓取3种方法总结》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266