我是靠谱客的博主 无私黑夜,最近开发中收集的这篇文章主要介绍Pyhton网页爬虫抓取学习(一) BeautifulSoup的使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<table id="table" width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="from_w">
<tbody><tr>
<td width="20%" align="right" class="tdlable">1</td>
<td width="30%" align="left" class="tdvalue">2</td>
<td width="20%" align="right" class="tdlable">1<font color="#FF0000">*</font> </td>
<td width="30%" align="left" class="tdvalue">2&nbsp;</td>
</tr>
<tr class="evenRow">
<td align="right" class="tdlable">2<font color="#FF0000">*</font> </td>
<td class="tdvalue"></td>
<td align="right" class="tdlable">1<font color="#FF0000">*</font> </td>
<td class="tdvalue">1</td>
</tr>
<tr>
<td align="right" class="tdlable">1<font color="#FF0000">*</font> </td>
<td align="left" class="tdvalue">2<input type="button" value="&nbsp;" name="&nbsp;" class="btn_50" disabled="disabled" style="display: none;">
</td>
<td align="right" class="tdlable">1<font color="#FF0000">*</font> </td>
<td align="left" class="tdvalue">2</td>
</tr>
<tr class="evenRow">
<td align="right" class="tdlable">1</td>
<td colspan="3" align="left" class="tdvalue">&nbsp;</td>
</tr>
<tr>
<td align="right" class="tdlable">1</td>
<td colspan="3" align="left" class="tdvalue">2</td>
</tr>
<tr>
<td colspan="4" align="right" class="bartop">登记</td>
</tr>
<tr>
<td align="right" class="tdlable">登记日期&nbsp;</td>
<td align="left" class="tdvalue">20191230</td>
<td align="right" class="tdlable">更新日期&nbsp;</td>
<td align="left" class="tdvalue">20191230</td>
</tr>
</tbody></table>
from bs4 import BeautifulSoup
import requests
url='index.html'
html=requests.get(url)
html.encoding='gbk'
soup=BeautifulSoup(html.text,'lxml')
text=soup.select("#table>tbody>tr:nth-of-type(7)>td:nth-of-type(2)")
print(text[0].get_text())

第一段代码为需要抓取的html文本 ,我把他命名为Index.html

为防止抓取过程的中文乱码,在Python代码中添加了 html.encoding='gbk',

本次使用了BeautifulSoup 类库中的 lxml 选择器

soup 选择器 select使用了 css 选择器 #table>tbody>tr:nth-of-type(7)>td:nth-of-type(2) 这一行的意思是 id为table下的 tbody下的第7个tr里面的第二个td


text=soup.select("#table>tbody>tr:nth-of-type(7)>td:nth-of-type(2)")

输出的结果是  <td align="left" class="tdvalue">20191230</td>

 

为了直接得到 20191230 需要使用 text[0].get_text() 注意直接使用 text.get_text() 会报错 可能是版本的问题

 

最后

以上就是无私黑夜为你收集整理的Pyhton网页爬虫抓取学习(一) BeautifulSoup的使用的全部内容,希望文章能够帮你解决Pyhton网页爬虫抓取学习(一) BeautifulSoup的使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部