python中数据抓取的方式有哪些

  介绍

这篇文章给大家介绍python中数据抓取的方式有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>三种数据抓取的方法

<李>

正则表达式(re库)

<李>

BeautifulSoup (bs4)

<李>

lxml

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

 python中数据抓取的方式有哪些

得到get_html  import 下载      时间=url  & # 39; https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/& # 39;   page_content =,下载(url)

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

<强> 1。正则表达式

得到get_html  import 下载   import 再保险      时间=url  & # 39; https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/& # 39;   时间=page_content 下载(url)   时间=country  re.findall(& # 39;类=癶3dabiaoti"祝辞(. * ?)& lt;/h3> & # 39;,, page_content), #注意返回的是列表   时间=survey_data  re.findall (& # 39; & lt; tr> & lt; td 背景=? FFFFFF", id=皐zneirong"祝辞(. * ?)& lt;/td> & lt;/tr> & # 39;,, page_content)   时间=survey_info_list  re.findall (& # 39; & lt; p>(. * ?)& lt;/p> & # 39;, survey_data [0])   时间=survey_info  & # 39; & # 39; . join (survey_info_list)   打印(国家[0],survey_info)

<强> 2。BeautifulSoup (bs4)

得到get_html  import 下载   得到bs4  import  BeautifulSoup      时间=url  & # 39; https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/& # 39;   时间=html 下载(url)   #创建,beautifulsoup 对象   时间=soup  BeautifulSoup (html、“html.parser")   #搜索   时间=country  soup.find (attrs={& # 39;类# 39;:& # 39;h3dabiaoti& # 39;})。text   时间=survey_info  soup.find (attrs={& # 39; id # 39;: & # 39; wzneirong& # 39;})。text   打印(国家,survey_info)

<强> 3。lxml

得到get_html  import 下载   得到lxml  import  etree  #解析树      时间=url  & # 39; https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/& # 39;   时间=page_content 下载(url)   时间=selector  etree.HTML (page_content) #可进行xpath解析   时间=country_select  selector.xpath (& # 39;//* [@ id=癿ain_content"]/h3 # 39;), #返回列表   for  country  country_select拷贝:   ,打印(country.text)   时间=survey_select  selector.xpath (& # 39;//* [@ id=皐zneirong"]/p # 39;)   for  survey_content  survey_select拷贝:   ,打印(survey_content.text结束=& # 39;& # 39;)

运行结果:

 python中数据抓取的方式有哪些

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

 python中数据抓取的方式有哪些

关于python中数据抓取的方式有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

python中数据抓取的方式有哪些