【爬虫系列】爬取糗事百科--正则表达式(超详细)
    		       		warning:
    		            这篇文章距离上次修改已过453天,其中的内容可能已经有所变动。
    		        
        		                
                
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函数中调用这两个函数,并迭代输出每一个段子。注意,由于网页结构可能会变化,所以正则表达式也可能需要相应地进行调整以确保正确提取内容。
评论已关闭