最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python利用beautifulSoup實現(xiàn)爬蟲

 更新時間:2014年09月29日 00:27:04   投稿:mdxy-dxy  
這篇文章主要介紹了python利用beautifulSoup實現(xiàn)爬蟲,需要的朋友可以參考下

以前講過利用phantomjs做爬蟲抓網(wǎng)頁 http://m.fzitv.net/article/55789.htm 是配合選擇器做的

利用 beautifulSoup(文檔 :http://www.crummy.com/software/BeautifulSoup/bs4/doc/)這個python模塊,可以很輕松的抓取網(wǎng)頁內(nèi)容

# coding=utf-8
import urllib
from bs4 import BeautifulSoup

url ='http://www.baidu.com/s'
values ={'wd':'網(wǎng)球'}
encoded_param = urllib.urlencode(values)
full_url = url +'?'+ encoded_param
response = urllib.urlopen(full_url)
soup =BeautifulSoup(response)
alinks = soup.find_all('a')

上面可以抓取百度搜出來結(jié)果是網(wǎng)球的記錄。

beautifulSoup內(nèi)置了很多非常有用的方法。

幾個比較好用的特性:

構造一個node元素

復制代碼 代碼如下:

soup = BeautifulSoup('<b class="boldest">Extremely bold</b>')
tag = soup.b
type(tag)
# <class 'bs4.element.Tag'>

屬性可以使用attr拿到,結(jié)果是字典

復制代碼 代碼如下:

tag.attrs
# {u'class': u'boldest'}

或者直接tag.class取屬性也可。

也可以自由操作屬性

tag['class'] = 'verybold'
tag['id'] = 1
tag
# <blockquote class="verybold" id="1">Extremely bold</blockquote>

del tag['class']
del tag['id']
tag
# <blockquote>Extremely bold</blockquote>

tag['class']
# KeyError: 'class'
print(tag.get('class'))
# None

還可以隨便操作,查找dom元素,比如下面的例子

1.構建一份文檔

html_doc = """
&lt;html&gt;&lt;head&gt;&lt;title&gt;The Dormouse's story&lt;/title&gt;&lt;/head&gt;

&lt;p&gt;&lt;b&gt;The Dormouse's story&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Once upon a time there were three little sisters; and their names were
&lt;a  id="link1"&gt;Elsie&lt;/a&gt;,
&lt;a  id="link2"&gt;Lacie&lt;/a&gt; and
&lt;a  id="link3"&gt;Tillie&lt;/a&gt;;
and they lived at the bottom of a well.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;
"""

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc)

2.各種搞

soup.head
# <head><title>The Dormouse's story</title></head>
soup.title
# <title>The Dormouse's story</title>
soup.body.b
# <b>The Dormouse's story</b>
soup.a
# <a class="sister"  id="link1">Elsie</a>
soup.find_all('a')
# [<a class="sister"  id="link1">Elsie</a>,
# <a class="sister"  id="link2">Lacie</a>,
# <a class="sister"  id="link3">Tillie</a>]
head_tag = soup.head
head_tag
# <head><title>The Dormouse's story</title></head>

head_tag.contents
[<title>The Dormouse's story</title>]

title_tag = head_tag.contents[0]
title_tag
# <title>The Dormouse's story</title>
title_tag.contents
# [u'The Dormouse's story']
len(soup.contents)
# 1
soup.contents[0].name
# u'html'
text = title_tag.contents[0]
text.contents

for child in title_tag.children:
  print(child)
head_tag.contents
# [<title>The Dormouse's story</title>]
for child in head_tag.descendants:
  print(child)
# <title>The Dormouse's story</title>
# The Dormouse's story

len(list(soup.children))
# 1
len(list(soup.descendants))
# 25
title_tag.string
# u'The Dormouse's story'

相關文章

  • python線程池ThreadPoolExecutor,傳單個參數(shù)和多個參數(shù)方式

    python線程池ThreadPoolExecutor,傳單個參數(shù)和多個參數(shù)方式

    這篇文章主要介紹了python線程池ThreadPoolExecutor,傳單個參數(shù)和多個參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • OpenCV-Python模板匹配人眼的實例

    OpenCV-Python模板匹配人眼的實例

    模板匹配是指在當前圖像A內(nèi)尋找與圖像B最相似的部分,本文詳細的介紹了OpenCV-Python模板匹配人眼的實例,感興趣的可以了解一下
    2021-06-06
  • 用Python將GIF動圖分解成多張靜態(tài)圖片

    用Python將GIF動圖分解成多張靜態(tài)圖片

    今天給大家?guī)淼氖顷P于Python的相關知識,文章圍繞著如何用Python將GIF動圖分解成多張靜態(tài)圖片展開,文中有非常詳細的介紹,需要的朋友可以參考下
    2021-06-06
  • python3中SQLMap安裝教程

    python3中SQLMap安裝教程

    本文主要介紹了python3中SQLMap安裝教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 分析Python讀取文件時的路徑問題

    分析Python讀取文件時的路徑問題

    本篇文章通過圖文實例的方式給大家詳細分析了Python讀取文件時的路徑問題,對此有需求的朋友可以參考學習下。
    2018-02-02
  • Python列表(list)、字典(dict)、字符串(string)基本操作小結(jié)

    Python列表(list)、字典(dict)、字符串(string)基本操作小結(jié)

    這篇文章主要介紹了Python列表(list)、字典(dict)、字符串(string)基本操作小結(jié),本文總結(jié)了最基本最常用的一些操作,需要的朋友可以參考下
    2014-11-11
  • Django ORM多對多查詢方法(自定義第三張表&ManyToManyField)

    Django ORM多對多查詢方法(自定義第三張表&ManyToManyField)

    今天小編就為大家分享一篇Django ORM多對多查詢方法(自定義第三張表&ManyToManyField),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • numpy 聲明空數(shù)組詳解

    numpy 聲明空數(shù)組詳解

    今天小編就為大家分享一篇numpy 聲明空數(shù)組詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • PyQt5每天必學之創(chuàng)建窗口居中效果

    PyQt5每天必學之創(chuàng)建窗口居中效果

    這篇文章主要介紹了PyQt5每天必學之創(chuàng)建窗口居中效果,使應用程序窗口顯示在屏幕的中心,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python文件讀寫操作小結(jié)

    python文件讀寫操作小結(jié)

    python文件對象提供了三個“讀”方法:?read()、readline()?和?readlines(),每種方法可以接受一個變量以限制每次讀取的數(shù)據(jù)量,這篇文章主要介紹了python文件讀寫小結(jié),需要的朋友可以參考下
    2022-02-02

最新評論

汨罗市| 揭东县| 江门市| 同仁县| 兴安县| 额尔古纳市| 莱阳市| 南木林县| 灵武市| 富锦市| 彩票| 株洲县| 民丰县| 抚远县| 兴隆县| 灌南县| 方城县| 丹阳市| 上林县| 朝阳区| 丹阳市| 台中县| 弥渡县| 襄樊市| 应用必备| 大丰市| 娄底市| 东阿县| 邓州市| 彝良县| 安义县| 岑巩县| 乾安县| 新乡市| 长兴县| 于田县| 庐江县| 财经| 正镶白旗| 吴忠市| 余庆县|