【爬虫系列】爬取糗事百科--正则表达式(超详细)
import requests
import re
def get_content(url):
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',
'Host': 'www.qiushibaike.com'
}
response = requests.get(url, headers=headers)
return response.text
def parse_content(html):
# 正则表达式解析出段子内容
# 注意:这里的正则表达式可能需要根据实际情况进行调整
pattern = re.compile('<div class="content">.*?<span>(.*?)</span>', re.S)
items = re.findall(pattern, html)
return items
def main(url):
html = get_content(url)
jokes = parse_content(html)
for joke in jokes:
print(joke)
if __name__ == '__main__':
url = 'https://www.qiushibaike.com/text/'
main(url)
这段代码首先定义了一个get_content
函数来发送请求并获取网页内容,然后定义了一个parse_content
函数来解析网页内容并提取段子。最后在main
函数中调用这两个函数,并迭代输出每一个段子。注意,由于网页结构可能会变化,所以正则表达式也可能需要相应地进行调整以确保正确提取内容。
评论已关闭