爬蟲入門

工具

infoLite

BeautifulSoup使用

from bs4 import BeautifulSoup
html_simple = '\
<html>\
<body>\
<h1 id="title">Hello World</h1>\
<a hred="#" class="link">This is link1</a>\
<a hred="#link2" class="link">This is link2</a>\
</body>
</html>'

soup = BeautifulSoup(html_simple)
print(soup.text)

打印結(jié)果:

Hello WorldThis is link1This is link2

通過特定的標(biāo)簽取元素

select

soup = BeautifulSoup(html_simple)
header = soup.select("h1")
print(header)
print(header[0])
print(header[0].text)

alink = soup.select("a")
print(alink)
for link in alink:
    print(link)
    print(link.text)

結(jié)果:

[<h1 id="title">Hello World</h1>] //列表
<h1 id="title">Hello World</h1> //第一個元素
Hello World //文本
[<a class="link" hred="#">This is link1</a>, <a class="link" hred="#link2">This is link2</a>]
<a class="link" href="#">This is link1</a>
This is link1
<a class="link" href="#link2">This is link2</a>
This is link2

通過css屬性取元素

header = soup.select("#title") #id前面加上#
print(header)
print(header[0])
print(header[0].text)

alink = soup.select(".link")#class前面加上.
print(alink)
for link in alink:
    print(link)
    print(link.text)

結(jié)果:

[<h1 id="title">Hello World</h1>]
<h1 id="title">Hello World</h1>
Hello World
[<a class="link" href="#">This is link1</a>, <a class="link" href="#link2">This is link2</a>]
<a class="link" href="#">This is link1</a>
This is link1
<a class="link" href="#link2">This is link2</a>
This is link2

id、class區(qū)別
id 唯一標(biāo)識
class 重復(fù)標(biāo)識

取得標(biāo)簽中的鏈接

alink = soup.select(".link")#class前面加上.
print(alink)
for link in alink:
    print(link["href"])

結(jié)果:

#
#link2

屬性通過字典的形式存放,所以可以

ForeSpider爬蟲軟件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容