首先介绍一下什么是Python爬虫。Python爬虫是一种利用Python编程语言进行网络爬取的技术。简单来说,就是自动化地从互联网上抓取网络信息。而抓取糗事百科就可以作为一个练手的例子。
准备工作
在写爬虫之前,你需要做好一些准备工作:
- 安装Python环境:在官网下载安装包后,进行安装。建议选择3.7及以上版本。
- 安装相关库:Python中已经有了许多库,可以用于网络请求、数据解析、数据库存储等。这里推荐以下库:requests、beautifulsoup4。打开命令行终端,使用pip工具安装:
pip install requests
、pip install beautifulsoup4
。 - 了解HTML基本知识:因为糗事百科的内容存储在HTML文档中,需要你了解一些HTML的基本知识,如标签、属性等。可以查看w3school上的HTML教程。
抓取糗事百科的代码分享
下面是一个简单的抓取糗事百科的例子:
import requests
from bs4 import BeautifulSoup
url = 'https://www.qiushibaike.com/text/page/1/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
html = requests.get(url, headers=headers).text
soup = BeautifulSoup(html, 'html.parser')
content = soup.find_all('span', class_='content')
for c in content:
print(c.text.strip())
首先,我们引入requests库和BeautifulSoup库,然后构建糗事百科首页的URL,并添加一个User-Agent头部,以便让服务器知道我们是一个正常的浏览器进行访问,而不是一个网络爬虫。
接着,我们使用requests来获取该URL的HTML文本,并使用BeautifulSoup将HTML文本解析成树形结构soup。我们可以利用find_all方法来找到HTML中的某些标签,例如这里的<span class="content"></span>
,将其抓取下来,并将其中的文本输出。
运行代码可以得到输出如下:
奔三的姑娘,成天为年纪那点事烦恼。你在为年纪烦恼,妈担心我还不能当妈。
第一次外地出差,看着同事手忙脚乱,不会的就去百度,想想自己之前的哪些闪光点,惊喜发现,果然还真是点亮了象征着生存技能之火种,心里爽!
放弃也需要勇气,不开心就退出,拖延症该不该治,所以想开始学习放弃的艺术,困难职业女装设计师,见过各种各样的完美女人,但更多的完美只存在于人们刻意隐藏的面孔背后。
我们还可以在代码中添加循环,依次抓取每页的内容:
for i in range(1, 10): # 抓取前十页的内容
url = 'https://www.qiushibaike.com/text/page/{}/'.format(i)
html = requests.get(url, headers=headers).text
soup = BeautifulSoup(html, 'html.parser')
content = soup.find_all('span', class_='content')
print('第{}页的段子:'.format(i))
for c in content:
print(c.text.strip())
这里的代码稍有修改,使用一个循环来依次抓取前10页的内容,并输出对应的页数和段子内容。输出如下:
第1页的段子:
奔三的姑娘,成天为年纪那点事烦恼。你在为年纪烦恼,妈担心我还不能当妈。
第一次外地出差,看着同事手忙脚乱,不会的就去百度,想想自己之前的哪些闪光点,惊喜发现,果然还真是点亮了象征着生存技能之火种,心里爽!
放弃也需要勇气,不开心就退出,拖延症该不该治,所以想开始学习放弃的艺术,困难职业女装设计师,见过各种各样的完美女人,但更多的完美只存在于人们刻意隐藏的面孔背后。
...
第9页的段子:
今年的菠萝长得棒极了,个头大甜又多的可以,但是还是咳嗽了。以为是寒流还是有什么厉害的原因,但是医生却说是要吃菠萝吃多了!此时此刻也只想到了 ,你太菠萝了!
大学录取通知书,首次见面,拽车门,没有看向我,提着行李,埋了头上了车,就这样走了,真是不知道该说啥嘞
大年初一真是个混乱的日子,前台收缴全员红包后老板决定马上发年终奖,结果发现没钱了,员工疯狂抢奖金却发现里面全部都是白纸条,妈呀,太丧了😭😭
以上就是零基础写Python爬虫之抓取糗事百科的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:零基础写python爬虫之抓取糗事百科代码分享 - Python技术站