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

Python爬虫,根据搜索关键字爬取京东商品信息 因为有在双十一配主机的计划,所有就产生了采集京东上指定商品信息(主要是价格)的想法。花闲余时间简单学习了下Python,参考了一些其他人的爬虫代码,最终完成一个比较简单的Python爬虫。可以根据商品ID或者搜索关键字爬取商品信息。 主要代码 import requests from lxml.html import etree import csv import time import datetime def getHeader(referer): headers = { 'a 阅读详情

实现的功能

在这里插入图片描述

输入想要搜索的关键字和输入关键字后的前几页页数(即输入关键字后跳转的网页的页数,如下图)
在这里插入图片描述
将包含关键字的文章标题和内容提取出来保存在一个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.text
    bs=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.text
    bs=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 爬虫实战:高效抓取多篇含有关键词的文章标题和内容 本文介绍了一个使用Python高效抓取含有关键词文章的爬虫方案。通过requests库获取网页内容,BeautifulSoup解析HTML结构,结合正则表达式筛选目标文章。文章详细说明了从单页到多页爬取的实现方法,包括关键词匹配、数据存储(CSV格式)以及防封禁的延时策略。该方案适用于数据分析、新闻采集等场景,为初学者提供了完整的爬虫实现流程,并建议进一步学习Selenium/Scrapy处理更复杂的动态页面需求。 阅读详情

相关推荐

【爬虫】用Python爬取《Nature》杂志文章的题目、摘要、下载地址

用Python爬取《Nature》杂志文章的题目、摘要、下载地址 前言 初学python,写了一个爬虫程序练练手。 这段代码通过手动输入关键词,爬取自然杂志官网文章题目、摘要和下载地址。 由于是国外网站爬虫速度较慢。 代码如下 import requests import re import os path = os.path.abspath(os.path.dirname(__file__)) def getHTMLText(url): try: #headers = {

weixin_42598422的博客 4350

简易版python爬虫--通过关键字爬取网页

python简单爬虫

qq_62791684的博客 7561

python爬虫(十二、爬取今日头条关键词所有文章)

今日头条 我们以搜索’妹子’为例 那么我们在右上角的搜索框搜索妹子,出来了一系列文章那么我们在右上角的搜索框搜索妹子,出来了一系列文章那么我们在右上角的搜索框搜索妹子,出来了一系列文章 检查网页的源代码,发现只是一个简短的框架检查网页的源代码,发现只是一个简短的框架检查网页的源代码,发现只是一个简短的框架 于是猜测这是用于是猜测这是用于是猜测这是用AJAX技术请求的,那么我们打开XHR查看 果不其然,就在这里,现在我们就是构造这些JS加载请求果不其然,就在这里,现在我们就是构造这些JS加载请求果不其然,就

jziwjxjd的博客 3400

按关键字爬取网页信息

本文目的是简单的在选定浏览器页面,按照关键字爬取自己想要的信息,关键点为跳过反爬网页的反爬机制 。 使用UA伪装 User-Agent 我们使用所爬网站中的User-Agent来进行伪装,让它以为我们是它本身的一部分,从而使得我们能够成功爬取我们需要的信息。 各网站User-Agent查找方法 打开所要爬取的页面,按键盘F12,如下图内容: 代码模块 该代码用例是搜狗网站 import requests if __name__ == '__main__': # UA伪装

liaojsgtcg的博客 4020

Python 爬虫实战:轻松爬取58同城二手房信息,获取所有房产标题

本文介绍了如何使用 Python 爬取 58 同城二手房信息,重点获取房产标题。文章详细讲解了爬虫的基本原理、58 同城页面结构分析,并通过代码示例演示了如何发送请求、解析 HTML、提取数据和存储结果。同时,还探讨了应对反爬虫策略的高级技巧,如请求头伪装和 IP 轮换。最后强调遵守网站爬取规则的重要性,并展望了爬虫技术在数据分析等领域的应用前景。适合有一定 Python 基础的开发者学习网络爬虫技术。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1517

python爬取pubmed的文献_爬虫获取pubmed中文献的标题和摘要

为了满足快速浏览pubmed中相关文献标题和摘要的需求,写了个简单的爬虫(目前只实现了单个关键词以及多个关键词的and检索),用于批量获取感兴趣文献的标题和摘要。使用编辑器是python,所编写的爬虫主要使用requests模块+正则表达式。使用requests.get()来获取请求,使用re模块中re.compile(正则表达式).findall(请求)来获取标题和摘要。代码中对浏览器进行了伪装...

weixin_34374031的博客 2685

python爬虫小实战二 之新浪新闻爬取新闻内容关键字

# coding:utf8 import requests from bs4 import BeautifulSoup import re import xlwt class News: def __init__(self,searchName,searchArea='news'): self.head = { 'User-Agent' :"Mo...

我不想秃头的博客 5184

(九)python网络爬虫(理论+实战)——爬虫实战:指定关键词的百度新闻爬取

本节主要是介绍了如何编写一个爬虫项目来实现指定关键词的百度新闻爬取,并进一步巩固用正则表达式来解析爬取的数据。巩固正则表达式的规则和常用的方法,掌握正则表达式在实际爬虫项目中的应用。

c1007857613的专栏 9850

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

python爬虫之爬取多篇含有关键词的文章标题和内容优化需要和前篇联系起来实现的功能代码设计思想源代码 需要和前篇联系起来 python爬虫之爬取多篇含有关键词的文章标题和内容 实现的功能 爬取多个关键字的文章标题和内容(将要爬取的关键词放在一个数组中,通过for进行遍历),并且每个关键字创建一个文件夹,每篇文章放在独自一个txt文件里面,运行结果(自己调试时,只设置页面为2,数组为两个): 代码设计思想 可以观看前面那篇python爬虫之爬取多篇含有关键词的文章标题和内容 ,因为这篇代码是对上一篇的

hell_orld的博客 3966

Python 爬虫实战:爬取 优快云 博客文章,统计热门技术关键词

本文介绍了一种基于Python的优快云博客文章爬取与关键词分析技术方案。通过requests和BeautifulSoup实现优快云博客页面的自动化爬取,获取指定关键词(如Python)相关文章的标题、正文和发布时间等数据。对爬取内容进行文本预处理后,利用jieba分词和TF-IDF算法提取技术关键词,结合词频统计和词云可视化分析当前技术热点。文章详细解析了优快云页面结构、爬虫实现流程及文本分析步骤,并展示了爬取日志和数据分析结果。该方案可扩展用于技术趋势研究,同时建议遵守网站爬取规则,控制请求频率。项

2503_91057718的博客 1436

【100天精通python】Day41:python网络爬虫开发_爬虫基础入门

网络爬虫(Web Crawler),是一种自动化程序,用于在互联网上浏览和抓取信息。爬虫可以遍历网页,收集数据,提取信息,以便于进一步处理和分析。网络爬虫在搜索引擎、数据采集、信息监测等领域发挥着重要作用。1.1 工作原理初始URL选择: 爬虫从一个或多个初始URL开始,这些URL通常是你希望开始爬取的网站的主页或其他页面。发送HTTP请求: 对于每个初始URL,爬虫会发送HTTP请求以获取网页内容。

qq_35831906的博客 6670

我用Python爬虫爬取并分析了C站前100用户最高访问的2000篇文章

我用Python爬虫爬取并分析了C站前100用户最高访问的2000篇文章写在前面项目总述数据爬取获得服务器API程序总体设计用户名爬取文章爬取数据分析数据存储总体数据可视化数据分组完整代码 写在前面 最近系统地学习了正则表达式,发现正则表达式最大的应用之一——网络爬虫之前一直没有涉猎,遂借此契机顺带写一个爬虫的demo备用。选择对象是优快云排行榜前100用户,各自按访问量从高到低排序的前20篇文章,使用一些简单的数据分析手段看看技术热点,方便今后拓宽技术栈。 项目总述 主要爬取的数据是文章标题和访问量,先

FRIGIDWINTER的博客 1万+

STM32实现webserver显示数据及配置参数

其实提到的将fsdata.c重命名为fsdata_custom.c,可以不重命令,将/LWIP/Target/lwipopts.h中HTTPD_USE_CUSTOM_FSDATA 定义为0,这样HTTPD_FSDATA_FILE将使用fsdata.c,避免每次生成fsdata.c需要重命令的麻烦。2、登录成功后,板卡根据板卡配置类型,返回对应的数据页面,该页面可实现数据校准、清零,以及进行到板卡参数设置页面。目前还未实现post功能以及http身份验证功能。3、板卡参数设置页面。

2694

浅谈 Python 网络爬虫的那些事

在大数据、人工智能应用越来越普遍的今天,Python 可以说是当下世界上热门、应用广泛的编程语言之一,在人工智能、爬虫、数据分析、游戏、自动化运维等各个方面,无处不见其身影。随着大数据时代的来临,数据的收集与统计占据了重要地位,而数据的收集工作在很大程度上需要通过网络爬虫来爬取,所以网络爬虫技术变得十分重要。

黛琳ghz的博客,期待你的关注。 6827

Jenkins中文显示不全?三步搞定Locale插件+汉化包的正确安装姿势

本文针对Jenkins界面中文显示不全问题,提供从原理到实战的深度解决方案。文章详细解析了Locale插件与中文语言包的核心机制,并分步指导如何通过配置JVM环境、正确安装插件及执行深度排查,彻底解决汉化顽疾,实现Jenkins界面的完美中文显示。

weixin_42611310的博客 259

用Python玩转ROS机械臂:YOLO目标检测+MoveIt!自动抓取仿真教程

本文详细介绍了如何利用Python集成YOLO目标检测与ROS的MoveIt!运动规划库,实现机械臂的智能抓取仿真。通过Gazebo仿真环境,从视觉感知、坐标转换到运动规划与执行,构建了一套完整的自动化抓取系统,为机器人视觉抓取应用提供了可复现的实践方案。

ppp33的博客 552

【愚公系列】《Python网络爬虫从入门到精通》001-初识网络爬虫

随着互联网的快速发展,数据的获取与处理变得愈发重要。在这个信息爆炸的时代,如何有效地收集和利用网络上的海量数据,成为了各行业面临的一大挑战。网络爬虫,作为一种自动化获取网页信息的技术,正逐渐成为数据分析、市场研究、竞争对手监控等领域不可或缺的工具。本文将带领读者初步了解网络爬虫的基本概念、工作原理以及常见应用场景。我们将探讨爬虫的构建过程,包括如何发送请求、解析网页、存储数据等关键步骤。同时,还会涉及一些爬虫开发中的注意事项,如如何遵循网站的robots.txt协议、避免被封禁等。

愚公智库 12万+

信号与系统——卷积、相关运算与FFT关系以及工程应用(三)

卷积运算、相关运算

qq_35028634的博客 6612

如何爬取优快云全站综合热榜标题,顺便统计关键词词频 | 爬虫案例

目录 前言 环境 爬虫代码 关键词提取代码 主程序代码 总结 前言 最近在出差,发现住的宾馆居然有小强。所以出差无聊之际,写了点爬虫的代码玩玩,问就是应景。本篇文章主要是爬取优快云全站综合热榜的100个标题,然后分词提取关键词,统计一下词频。 我想了下,对于其他博主还是有用的,可以看看什么标题可以上热榜,就分享一下吧。顺便把我解决各类问题的方法,说一说。 环境 使用的IDE为:spyder(有看着界面不习惯的,忍一下,不关键) 页面爬取使用chromedriver,至于

阿良的博客 1万+

vue使用 APlayer+Meting实现音乐播放,支持多平台音乐:网易云、腾讯、虾米、酷狗、百度

  我之前写过一篇博客:使用 APlayer 实现音乐播放器,虽然 APlayer 让我实现了想要的音乐播放器效果,但是音频列表 audio 的音频链接、音频封面、歌词等,是需要自己去补充的。   那么这些数据从哪里来呢?   我昨天有发愁一会儿会儿,也去搜了获取音乐列表的接口,可以发请求去获取数据嘛。   也有瞅见MetingJS,A powerful plugin connect APlayer and Meting,一个连接APlayer和Meting的功能强大的插件,附上GitHub地址:https

小R.的博客 4798

【YOLOv8-pose姿态识别部署至RK3588:模型训练到RKNN落地,让人体姿态分析精度与边缘推理速度双突破】

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

FJN110的博客 329

爬虫爬取实时新闻标题、时间及新闻内容并保存

一、概述 本文主要利用selenium控制谷歌浏览器爬取百度新闻资讯及新闻资讯的内容。并保存在本地。在爬取文章内容的时候我用到了正则表达式去匹配文字内容,这里在文章中会有一些杂质出现(后续会想解决方法)。 二、软件及应用模块 1、anaconda、pycharm anaconda里面集成了许多python的第三方库,使用起来非常方便。 在pycharm里面配置anaconda的环境具体方法可以百度...

weixin_44214267的博客 1万+

redhawk:Low Power Analysis

1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power gating的设计方式,使用power switch cell关闭block/power domain的电源。 power switch的基本介绍可见: 低功耗设计-Power Switch power switch的table中有四种状态,对应block工作、待机和上电,下电。low power analysis主要分析上电的过程。 上电过程可以看做mos电容

m0_61544122的博客 3206

网络爬虫——用Python爬取新浪新闻材料

微信公众号:数据分析与统计学习 如有问题或建议,请公众号留言 最近更新时间:2018-7-8 最近一个星期都在学习网络爬虫,秉着有学习输入就要有学习输出(学以致用)的原则,把整个学习过程记录下来,并分享给大家。 一、 爬虫前的准备工作 我是在Windows系统下用Python的Anaconda集成开发环境实现网络爬取新浪新闻项目。用Anaconda实现网络爬虫有如下几个好处:第一,该软件...

685

STM32开发 -- 4G模块开发详解(1)

这部分一直再看,资料都已经整理好了,但是一直没有汇总。接下来就详细的看一下,GSM这部分是怎么实现的。

不积跬步,无以至千里 5万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: python爬虫百度新闻标题,并且做简单的数据分析
下一篇: 微信小程序之用camera实现类似扫码枪连续扫码
土、拨鼠
博客等级 码龄8年 60粉丝 21原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值