爬虫糗事百科案例
提示:爬取笑话讲给女朋友,这是属于我们爬虫爱好者的浪漫
前言
随着python语言的不断发展,爬虫这门技术也越来越重要,很多人都开启了自己的爬虫之路,本文就介绍了爬虫的功能。跟着我带你走进爬虫的大门
提示:以下是本篇文章正文内容,下面案例可供参考
一、为什么学爬虫
爬虫是可以有规则的提取html的内容,获取到我们需要的对象,爬虫的高效和简单让我们爬虫爱好者更加喜欢它
二、爬虫开始
1.引入库
代码如下(示例):
import requests
import re
from lxml import etree
import json
2.获取网页
代码如下(示例):
def get_html(url):
#进行头部伪装,让浏览器认为是浏览器访问
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"
}
res = requests.get(url, headers=headers)
res.encoding = "utf-8"
if res.status_code == 200:
return res.text
else:
return None
该处使用的url网络请求的数据。
3.获取网页
由于本次代码简单我们把解析和保存放到一起
代码如下(示例):
def parse_html(html):
e = etree.HTML(html)
urls = e.xpath("//div[@class='col1 old-style-col1']/div/a[1]/@href")
url = ["https://www.qiushibaike.com{}".format(url) for url in urls]
for i in url:
print(i)
data = get_html(i)
title=re.findall(r"<h1>(.*?)</h1>",data,re.S)[0]
title=title.strip()
tata = re.findall(r'<div class="content">(.*?)</div>', data, re.M)[0]
tata=tata.replace("<br/>","").strip()
with open("json.json",'a+',encoding="utf-8") as f:
dict={"标题":title,"笑话":tata}
f.write(json.dumps(dict,ensure_ascii=False))
f.write("\n")
4.调用函数
if __name__ == '__main__':
#翻页获取
for i in range(13):
url = "https://www.qiushibaike.com/text/page/{}".format(i)
html = get_html(url)
parse_html(html)
5.爬取的内容展示
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文介绍了requests,re,json,xpath的使用,可以对于小白理解起来不是那么容易,一个正在爬虫的路上前进的陈同学,爬虫爱好者可以关注我们一起学习,一起进阶高级爬虫工程师。