从维基百科通过关键字爬取指定文本内容

通过输入搜索的关键字,和搜索页数范围,爬出指定文本内内容并存入到txt文档。代码逐行讲解。

使用re、res、BeautifulSoup包读取,代码已测,可以运行。txt文档内容不乱码。

python 复制代码
import re
import requests
from bs4 import BeautifulSoup

titles = []                                                             #存放文档标题
urls = []                                                               #存放每个文档链接

keyword = input("请输入想要查找的关键字:")                              
pagenum = input("请输入想要查找的页数:")                                        
txt_name = keyword + ":前" + pagenum + "页内容.txt"                        

with open(txt_name,'w',encoding='utf-8') as f:                             # 创建txt文件
    f.write(txt_name + '\r')                                               # 将文件名写入
    f.close()

# 每页内容单独爬取
for i in range(1, int(pagenum)+1):                               
    html = "http://www.ofweek.com/newquery.action?keywords="+keyword+"&type=1&pagenum=" + str(i)         # 根据关键词和页数生成链接

    resp = requests.get(html)                             # get获取数据,访问拼接后的url                                    
    resp.encoding = 'gb18030'                             # 读取中文时不会出现乱码
    content = resp.text                  # 拿到网站的数据,捕获到的网页内容给content变量
    
    # html文件解析,解析响应的文件内容,html.text 是 HTML 文档的源代码,
    # 'html.parser' 是解析器,用于指定如何解析 HTML 文档
    bs = BeautifulSoup(content,'html.parser')
    #每个标题都存在类名为no-pic的li标签里面
    for news in bs.select('div.zx-tl'): 
        url = news.select('a')[0]['href']                     # 提取文章链接
        urls.append(url) 
        title = news.select('a')[0].text                      # 提取文章标题
        titles.append(title)

for i in range(len(urls)):                                    # 遍历每篇文章的链接
    resp = requests.get(urls[i])
    resp.encoding='gb18030'
    content = resp.text
    bs = BeautifulSoup(content,'html.parser')
    #文章的内容是存在类名为artical-content的div块里面
    page_content = bs.select('div.artical-content')[0].text
    with open(txt_name,'a',encoding='utf-8') as f:            # 写入txt文件
        f.write("\n"+titles[i]+page_content)
        f.close()

print("文件保存成功!")
相关推荐
深蓝电商API1 天前
从爬虫到Agent:数据采集的下一个形态是什么
爬虫
xiangjiaodalishi2 天前
主流 AI 爬虫 User-Agent 清单大全:分组、配置与持续维护(2026 版)
人工智能·爬虫·python
深蓝电商API3 天前
用向量数据库存储爬取内容:语义检索的高级玩法
爬虫·向量数据库
深蓝电商API3 天前
Playwright+多模态大模型:让AI自己“看”页面并决策
人工智能·爬虫·playwright
远航计算机3 天前
收录从分钟级变 3 到 7 天,抢首发为什么失效了
大数据·人工智能·爬虫·chatgpt·aigc·1024程序员节
嫂子的姐夫4 天前
052-滑块验证码:丰巢登录
爬虫·js逆向·滑块验证码·aes加密
东鹏特饮4 天前
A 股创历史新低筛选器phthon爬虫脚本
爬虫·股票·phthon
深蓝电商API6 天前
用GPT-4o解析无结构网页:提示词工程实战
爬虫·gpt-4o
数据狐(Datafox)6 天前
一文读懂京东商品详情 API:返回字段解读与 JSON 样例
开发语言·数据库·爬虫·json
傻啦嘿哟7 天前
百度图片爬虫:爬取海量图片数据,搭建图像识别训练集
爬虫·百度