python爬虫之爬取多篇含有关键词的文章标题和内容

  • 实现的功能
  • 需要用到的库
  • 需要对html一些标签有一定的了解
  • 代码设计思想
  • 源代码
  • 功能优化
  • Java版本

实现的功能

输入想要搜索的关键字和输入关键字后的前几页页数(即输入关键字后跳转的网页的页数,如下图)

将包含关键字的文章标题和内容提取出来保存在一个txt文件里面(如下图,输入关键词为高新,前一页)

需要用到的库

获取文章信息需要的库:beautifulsoup4,request

需要对html一些标签有一定的了解

可以到w3cschool了解
打开维科闻网站输入关键词后,按F12开发者工具,或者右键点击查看源,就可以看到网页的源代码。

代码设计思想

1.每个网页通过request请求获得网页源代码,再通过bs4(beautifulsoup)来对源代码进行提取信息;
2.先观察每次输入关键字之后网址的变化,如我输入高新,可以发现关键字在keywords=里面,那这样可以用input后,将关键字字符串和前面的网址连接起来。


3.观察每一页的网址变化,如第三页,可以发现页数是存在pagenum=里面的(第一页可能忽略了,你可以尝试的输入http://www.ofweek.com/newquery.action?keywords=高新&pagenum=1,发现会跳转第一页),这样就可以将页数和前面2拼接后的网址再拼接起来。

4.接下来就是看搜索关键词后网页的源代码(F12),可以发现每个文章都是在类名为zx-tl的div块标签里面,就可以通过select提取出里面的文章的标题和链接。

5.再将每页文章的链接访问一遍,提取出文章的内容,而再次打开每篇文章的链接,发现文章的内容都是在类名为artical-content的div块里面,通过select把文章的内容提取出来。


6.把文章的内容和标题写入txt文件。

源代码

import re
import requests
from bs4 import BeautifulSoup
titles=[]#存放标题
urls=[]#存放链接
keyword=input("输入想要在维科网搜索的关键字:")#输入关键字
pagenum=input("输入想要查找的前几页(如果输入2,即找前2页的):")#前几页
txt_name="关键词:"+keyword+"前"+pagenum+"页具体内容.txt"#这是文件名的生成
with open(txt_name,'w',encoding='utf-8') as f:#创建文件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)#建立链接resp.encoding='utf-8'#读取中文时不会出现乱码content=resp.textbs=BeautifulSoup(content,'html.parser')for news in bs.select('div.zx-tl'):#每个标题都是存在类名为no-pic的li标签里面(可以去看维科网搜索关键词后的网页源代码去发现标题的存在标签。基本上都是存在相同的标签里面。)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='utf-8'content=resp.textbs=BeautifulSoup(content,'html.parser')page_content=bs.select('div.artical-content')[0].text#可以发现文章的内容是存在类名为artical-content的div块里面with open(txt_name,'a',encoding='utf-8') as f:#写入刚刚建立的txt文件f.write("\n"+titles[i]+page_content)f.close()
print("txt文件已经成功记录!")

功能优化

python爬虫之爬取多篇含有关键词的文章标题和内容优化

Java版本

我后面也用java写了和这个类似的爬虫,大家需要可以看一看!
Java爬虫之爬取多篇含有关键词的文章标题和内容优化

python爬虫之爬取多篇含有关键词的文章标题和内容相关推荐

  1. python爬虫之爬取简书中的小文章标题

    学习了三个星期的python基础语法,对python语法有了一个基本的了解,然后想继续深入学习,但不喜欢每天啃书本,太无聊了,只有实战才是练兵的最好效果.听说爬虫技术还是比较好玩的,就搞爬虫,但找了好 ...

  2. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  3. python可以爬取的内容有什么_Python爬取视频(其实是一篇福利)过程解析 Python爬虫可以爬取什么...

    如何用python爬取视频网站的数据 如何用python爬取js渲染加载的视频文件不是每个人都有资格说喜欢,也不是每个人都能选择伴你一生! 有哪位大神指导下,有些视频网站上的视频文件是通过 js 加载 ...

  4. python爬取网页表格数据匹配,python爬虫——数据爬取和具体解析

    标签:pattern   div   mat   txt   保存   关于   json   result   with open 关于正则表达式的更多用法,可参考链接:https://blog.c ...

  5. python爬虫能爬取微信密码吗_爬虫如何爬取微信公众号文章

    下篇文章:python爬虫如何爬取微信公众号文章(二) 下下篇连接python爬虫如何实现每天爬取微信公众号的推送文章 因为最近在法院实习,需要一些公众号的数据,然后做成网页展示出来便于查看,之前我倒 ...

  6. python爬虫爬取音乐_利用python爬虫实现爬取网易云音乐热歌榜

    利用python爬虫实现爬取网易云音乐热歌榜 发布时间:2020-11-09 16:12:28 来源:亿速云 阅读:102 作者:Leah 本篇文章给大家分享的是有关利用python爬虫实现爬取网易云 ...

  7. python爬虫之爬取起点中文网小说

    python爬虫之爬取起点中文网小说 hello大家好,这篇文章带大家来制作一个python爬虫爬取阅文集团旗下产品起点中文网的程序,这篇文章的灵感来源于本人制作的一个项目:电脑助手 启帆助手 ⬆是项 ...

  8. 【python爬虫】爬取Bing词典的单词存到SQLite数据库(加了pyqt5界面显示)

    之前一篇博客的连接: [python爬虫]爬取Bing词典的单词存到SQLite数据库 相比之前这篇文章中的源码,这次带UI的代码不仅改进了UI界面,爬虫部分的代码也有改进. 展示 代码github ...

  9. Python爬虫之爬取淘女郎照片示例详解

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

最新文章

  1. jenkins设置使用参数构建项目
  2. 《Spring技术内幕》——1.4节Spring的应用场景
  3. 基于Bresenham和DDA算法画线段
  4. vs2005中的aspnetdb(转)
  5. React学习笔记六 React拓展 - SetState
  6. Alink、Tensorflow on Flink 在京东的应用
  7. IOS OpenGL ES GPUImage 图像 XYDerivative 边缘检测 GPUImageXYDerivativeFilter
  8. python科学计算的例子_Python科学计算:NumPy
  9. Android Apk编译的apk安装失败解决
  10. STM32F103RCT6Mini开发板搭建1.44寸TFT显示屏
  11. 大家身边有没有超级自恋的人
  12. 关于对齐次裁剪空间及HLSL语义的理解
  13. PHP文件怎么改tne,修改 · thinkphp6文档 · 看云
  14. python 实现自动化点击界面方案
  15. 嵌入式设备系统有无操作系统的区别
  16. 用Jquey实现双击图片放大和触摸放大的功能。
  17. 公开密钥密码体制(C语言实现RSA加密算法)
  18. 脚本引擎《游戏脚本的设计与开发》-序
  19. Android App 线上热修复方案
  20. 顺丰和菜鸟互撕 专家:核心是大数据

热门文章

  1. 五款WordPress图片压缩插件推荐
  2. 从搬砖工到亿万富豪,这些年他经历了什么?
  3. 【译】索引进阶(六):SQL SERVER索引书签
  4. R中ifelse、which、%in%的用法
  5. 主流视频会议租用产品对比
  6. 用计算机写作与用笔写作,电脑写作vs手写作文,技术真能提高写作成绩吗?
  7. 【python-sklearn】中文文本处理LDA主题模型分析
  8. latchtimeborrowingLookup latch
  9. 2014年广东省六月展会集,看到就是赚到!!
  10. Python项目之企业审批流绩效分析分析应用2