python爬虫如何从一个页面进入另一个页面-Python爬虫 (一):爬取一个简单的静态网页...

版本:python3.7

平台:windows10

工具 :pycharm

断断续续学习了py3爬虫2周左右的时间,发现自己学习的过于零散化,所以想通过这个专栏系统的整理下自己所学过的知识。如有错误,欢迎指出。python爬虫如何从一个页面进入另一个页面-Python爬虫 (一):爬取一个简单的静态网页...

在学习爬虫的时候,静态网页是最适合入门练手的项目。这是一个练习的网页:http://www.pythonscraping.com/pages/page3.html

学习python最好的方式就是查看官方文档https://docs.python.org/3/library

urllib.request是一个库, 隶属urllib。python爬虫如何从一个页面进入另一个页面-Python爬虫 (一):爬取一个简单的静态网页...

我们再点击urllib.request就会发现这条语句python爬虫如何从一个页面进入另一个页面-Python爬虫 (一):爬取一个简单的静态网页...

urlopen 用来打开并读取一个从网络获取的远程对象。返回一个 http.client.HTTPResponse 对象, 这个对象又有各种方法, 比如我们用到的read()方法返回的网页内容实际上是没有被解码或的。在read()得到内容后通过指定decode()函数参数,可以使用对应的解码方式。

代码如下

from urllib.request import urlopen

if __name__ == "__main__":

url = ("http://www.pythonscraping.com/pages/page3.html")

html = urlopen(url).read().decode()

print(html)

执行完毕后我们就可以通过审查元素(F12)发现html代码已经被我们打印出来了。但是我们想要的是其中我们感兴趣的数据该怎么办?比如之想要其中的列表部分的内容。

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库,主要的功能是从网页抓取数据,相对于正则表达式来说,更简便。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式

Beautiful Soup的中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.htmlpython爬虫如何从一个页面进入另一个页面-Python爬虫 (一):爬取一个简单的静态网页...

findAll ()返回的是所有符合结果的列表,find()返回的是符合的第一个值。

代码如下:

if __name__ == "__main__":

url = ("http://www.pythonscraping.com/pages/page3.html")

html = urlopen(url)

soup = BeautifulSoup(html,'lxml')

gifts = soup.findAll('tr',{'class':'gift'})

for gift in gifts:

print(gift.get_text())

.get_text()函数是将标签去掉,只返回内容。

soup = BeautifulSoup(html,'lxml')默认的解析器是html.parse,这里使用的是另外一个解析器lxml解析器

经测试需要gifts = soup.findAll('tr',{'class':'gift'})这样以字典的形式给attrs参数赋值才可以。

python爬虫如何从一个页面进入另一个页面-Python爬虫 (一):爬取一个简单的静态网页...

这篇文章就到此结束了,虽然看着很简单,但是这才刚刚入门。有句话送给所有喜欢学习的人:仰之弥高,钻之弥坚,努力,共勉。

ps:题外话,第一次写专栏,B站专栏的连接只可以用站内连接吗.......???