• y******8 下载了资源 Bitinvests多语言交易所源码/外汇+美股+期货+交割合约+期权交易+现货交易+C2C+平台币+Ai投资理财+Defi借贷/前端vue纯源码+后端PHP
  • y******8 登录了本站
  • y******8 下载了资源 Bitinvests多语言交易所源码/外汇+美股+期货+交割合约+期权交易+现货交易+C2C+平台币+Ai投资理财+Defi借贷/前端vue纯源码+后端PHP
  • y******8 下载了资源 Bitinvests多语言交易所源码/外汇+美股+期货+交割合约+期权交易+现货交易+C2C+平台币+Ai投资理财+Defi借贷/前端vue纯源码+后端PHP
  • y******8 登录了本站
  • k******* 登录了本站
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程
  • 小*丫 下载了资源 爆点竞猜娱乐火箭逃跑区块链游戏源码+修复推广+免公众号+全开源无授权有教程

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://www.jocat.cn/archives/39171,转载请注明出处。
0

站点提示

永久会员498点我去开通

VIP交流群(仅限终身VIP)点我加群

没有账号?注册  忘记密码?