Python爬取糗事百科

import urllib.request
import re

# 糗事百科爬取
def scandalCyclopediaCrawler(url):
    # 请求头
    header = {"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)"}
    # 请求体
    req = urllib.request.Request(url, headers=header)
    # 发起请求
    response = urllib.request.urlopen(req)
    # 爬到的HTML网页
    HTML = response.read().decode("utf-8")
    return HTML

# 正则过滤
def reFilter(html):
    dic = {}
    # 爬取用户名
    userNameList = re.findall(r"<h2>\n(.*?)\n</h2>", html, flags=re.S)
    # 爬取段子
    jokeList = re.findall(r'<div class="content">\n<span>\n\n\n(.*?)\n</span>', html, flags=re.S)
    # 存入字典 用户名:段子
    for i in range(len(userNameList)):
        dic[userNameList[i]] = jokeList[i]
    return dic

def main():	
    # 这里只爬了4页
    for i in range(1, 5):
        url = r"https://www.qiushibaike.com/text/page/"+str(i)+"/"
        # 爬到的数据,同上面HTML
        crawData = scandalCyclopediaCrawler(url)
        # 过滤后的数据
        filterData = reFilter(crawData)
        for k, v in filterData.items():
            jokeInfo = k+":\n"+ v
            print(jokeInfo)
            # 把爬到的数据存到本地
            with open(r"C:\爬虫\糗事百科.txt", "a") as f:
                f.write(jokeInfo)

if __name__ == '__main__':
    main()
 # 不加注释的话就20来行代码,算是一个简单的小案例

  • 29
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Python可以用于爬取百度百科的内容。有一本实践技巧的书籍提供了详细的指导[1]。在爬取百度百科的过程中,我们可以设置一个目标,比如爬取1000条词条,并将这些词条的URL地址输出,并将词条的相关信息(URL、标题、概述)写入一个叫output.htm的文件。 在爬取百度百科上的词条时,我们需要注意将爬取到的内容以字典的形式进行整理。通过使用字典,我们可以将词条的标题和相应的内容进行配对。代码示例如下: elem_dict = dict(zip(elem_name, elem_value)) dict_1 = {} for key in elem_dict: print(key.text, elem_dict[key].text) dict_1.update({key.text: elem_dict[key].text}) 通过这样的方法,我们可以将爬取到的词条标题和内容以字典的形式保存下来,方便后续的处理和使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python爬虫实战笔记-股票爬取示例.md](https://download.csdn.net/download/weixin_52057528/88258593)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Python爬虫爬取百度百科词条](https://blog.csdn.net/DongChengRong/article/details/77924695)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基于python里selenium库的信息盒爬取](https://blog.csdn.net/poorlytechnology/article/details/109574110)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值