同款下载

[seo]python抓取网页数据的三种方法


python抓取网页数据的三种方法

一、正则表达式提取网页内容

解析效率:正则表达式>lxml>beautifulsoup

代码:

import re

  import urllib2

  urllist = 'http://example.webscraping.com/places/default/view/United-Kingdom-239'

  html = urllib2.urlopen(urllist).read()

  num = re.findall('<td class="w2p_fw">(.*?)</td>',html)

  print num

  print "num[1]: ",num[1]

 

二、BeautifulSoup方法提取网页内容

代码如下:

from bs4 import BeautifulSoup

  import urllib2

  urllist = 'http://example.webscraping.com/places/default/view/United-Kingdom-239'

  html = urllib2.urlopen(urllist).read()

  #把html格式进行确定和纠正

  soup = BeautifulSoup(html,'html.parser')

  #找出tr标签中id属性为places_area__row的内容,如果把find改成findall函数则会把匹配所#有的内容显示出来,find函数只匹配第一次匹配的内容。

  tr = soup.find('tr',attrs={'id':'places_area__row'})

  td = tr.find('td',attrs={'class':'w2p_fw'})

  #取出标签内容

  area = td.text

  print "area: ",area

 

三、lxml

lxml库功能和使用类似BeautifulSoup库,不过lxml解析速度比beautifulsoup快。

代码:

import lxml.html

  import urllib2

  urllist = 'http://example.webscraping.com/places/default/vie

  w/United-Kingdom-239'

  html = urllib2.urlopen(urllist).read()

  tree = lxml.html.fromstring(html)

  td = tree.cssselect('tr#places_area__row > td.w2p_fw')[0]

  area = td.text_content()

  print area

 

原文链接:https://img.zhanbaozhan.com/39171–>
下载说明:

1、本站资源都是白菜价出售,同样的东西,我们不卖几百,也不卖几十,甚至才卖几块钱,一个永久会员能下载全站100%源码了,所以单独购买也好,会员也好均不提供相关技术服务。

2、如果源码下载地址失效请/联系站长QQ进行补发。

3、本站所有资源仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您权益请联系本站删除!

4、本站站内提供的所有可下载资源(软件等等)本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发);但本网站不能保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug;同时本站用户必须明白,【源码源码ui网】对提供下载的软件等不拥有任何权利(本站原创和特约原创作者除外),其版权归该资源的合法拥有者所有。

5、请您认真阅读上述内容,购买即以为着您同意上述内容。

互保站 » [seo]python抓取网页数据的三种方法

发表回复