爬行在python中,我无法使用findALL

时间:2017-01-03 08:12:21

标签: python html beautifulsoup web-crawler

我使用python 3.x练习抓取

<p style="MARGIN-BOTTOM: 3pt; TEXT-AUTOSPACE: ; mso-pagination: none; mso
padding-alt: 0pt 0pt 0pt 0pt" class="0">
<a href="http://www.blablabla.pdf"    target="_blank">
<strong><img align="center"src="http://blablablablablabla.png"
width="108"></strong></a></p>

和p&gt; a

<a href="http://BLABLABLABLABLA.pdf"
target="_blank"><strong><img align="center"
src="http://blablablablabla.png"
width="108"></strong></a>

然后我用了

divTag = soup.find('p', style='MARGIN-BOTTOM:')

获取

a href="http://blabla~~~

但是,我无法做到。

结果(divTag = soup.find(&#39; p&#39;,style =&#39; MARGIN-BOTTOM:&#39;)为无。

我不知道为什么。

1 个答案:

答案 0 :(得分:1)

<p style="MARGIN-BOTTOM: 3pt; TEXT-AUTOSPACE: ; mso-pagination: none; mso
padding-alt: 0pt 0pt 0pt 0pt" class="0">

风格是

"MARGIN-BOTTOM: 3pt; TEXT-AUTOSPACE: ; mso-pagination: none; mso
padding-alt: 0pt 0pt 0pt 0pt"

不是MARGIN-BOTTOM

import bs4

html = '''<p style="MARGIN-BOTTOM: 3pt; TEXT-AUTOSPACE: ; mso-pagination: none; mso
padding-alt: 0pt 0pt 0pt 0pt" class="0">
<a href="http://www.auri.re.kr/pdf/UrbanPlanning_BusanJingu.pdf"    target="_blank">
<strong><img align="center"src="http://auri.re.kr/upload/contentsImg/IMG20140922162029.png"
width="108"></strong></a></p>'''

soup = bs4.BeautifulSoup(html, 'lxml')

方法1:

soup.select_one('p a').get('href')

方法2:

soup.select_one('a[href$=".pdf"]').get('href')

出:

'http://www.auri.re.kr/pdf/UrbanPlanning_BusanJingu.pdf'