python爬虫scrapy爬取新闻标题及链接_python爬虫入门实战!爬取博客文章标题和链接!...

最近有小伙伴和我留言想学python爬虫,那么就搞起来吧。

f31fbe096b63f624a4fe2daf2a8241fd184ca3c3.jpeg?token=b0cdd6fb7b2c051e211e5a2cd0e9debb&s=2F24EC031B1B77EF025D30D70300C0A1

准备阶段

爬虫有什么用呢?举个最简单的小例子,你需要《战狼2》的所有豆瓣影评。最先想的做法可能是打开浏览器,进入该网站,找到评论,一个一个复制到文本中,保存,翻页,接着复制,直到翻到最后一页。而爬虫只要写脚本,执行,泡杯咖啡,坐等他执行完。

首先需要在电脑上装好 python3 和 pip 。此外还需要知道python的一些基本语法。这些内容网上搜索有许多教程(例如廖雪峰),这边就不再细说了。

我们这次需要使用的是 正则表达式 re 库和第三方的 requests 库,以下是安装方法。

pip3 install requests

引入库。

importrequestsimportre

爬虫可以简单地分为获取数据,分析数据,存储数据三个步骤。

下载数据

简单来说一个网页是由一个html文件解析构成,我们需要获取这个文本内容。

每个浏览器都可以通过开发者工具获取到文本内容,以chrome为例,打开网页后,右键->检查。

9a3c87a935b9259ea4efa01f2bcd13135577.gif

右边的 Elements 就是我们要下载的数据。

让我们看看 requests 是如何获取这个数据的。

023b5bb5c9ea15ce54cf4ab11bc690f63b87b2b5.jpeg?token=2c2f289930c81b0a915fa365dec65325&s=EDC0ED1297A06D030E4998DF000080B3

上面的 html_str 就是我们需要的源数据。获取数据我们需要一个网页地址,获取后判断状态码是否为200,最后再将内容decode就得到需要的整个html源数据。

分析数据

这次我们用正则表达式去解析源数据,截取到我们需要。关于详细的正则知识可以在这里中学习。

现在我们的目标是抓取博客的文章标题和链接,我们可以通过刚才的开发者工具获取文章标题和链接的特征。

faf2b2119313b07ec6ae673ca2113b2697dd8c3a.jpeg?token=aa3cb86ac28047d399e3370c24eced80&s=CC10EC1B599EC4CC1AF131DE0000C0B3

可以看到我们要的内容都具有以下这种格式。

ca1349540923dd5407f868dc7ccf19db9e8248c3.jpeg?token=e3c2dff348f459f9a06ffdc19ec5609e&s=85D0ED324B6265224C6800DA000080B1

我们就为这种格式写出正则表达式。(ps: 我也写了几次才写对,看不懂的话我们私下交流交流)

34fae6cd7b899e51480b4a2eed617336c9950d4a.jpeg?token=70303dcca90fc0e870b73ecf9f31cbcd

使用正则表达式中的 findall 把所有内容找出来,并保存在字符串中。

6d81800a19d8bc3eb6057eca2d4d0c1ba9d345e8.jpeg?token=c2a6bf949b50386daf866d0bdcbcc595

但是,我们只爬了其中的一页。还有许多页没有爬呢!(ps: 骄傲脸,我已经写了好多页的原创内容了。)

我们可以点几个下一页,很容易发现其中的规律。

第一页 : 网页第二页: 网页/page2/第三页: 网页/page3/...为此,我们加个循环判断就可以啦。

a044ad345982b2b7cb19f0e79f6b61ea77099b5f.jpeg?token=5cd60ac5fa48af1a603651753b16797d&s=ED42C41219C84C490A74F0D4000080B0

在判断状态码不为200时,退出循环。

存储数据

这次我们就用文本存储来结束我们的教程吧。(ps:数据库存储我也还没学到,哈哈哈呃。)

withopen('lamyoung_title_out.txt','w',encoding='utf-8')asf:f.write(write_content)

最后看下输出结果吧~

8ad4b31c8701a18b8fc7930430e9ad0d2938fe9d.jpeg?token=db77de34309eb82a4a7fe9a3a355836f&s=C010E03BD9AFC0CC0CF5A1DA0000C0B3

小结

本文只是简单地带你入门写个python爬虫(其实也不简单哈,正则表达式还是要花时间学学)。其实爬虫还涉及多线程,数据库,还有其他解析库(可能可以替代正则表达式)。后续学到了第一时间分享(也许)给大家。

“其实我还写过python处理excel表导出json,自动处理svn添加删除等脚本,欢迎一起学习”

我是白玉无冰,游戏开发技术小赤佬,也玩 python 和 shell。欢迎私信交流学习!

### 回答1: Python爬虫Scrapy是一种用于爬取网站数据的工具。它可以自动化地从网站上获取数据,并将其存储在本地或远程服务器上。Scrapy使用Python编写,具有高效、灵活和可扩展的特点,可以处理大量数据和复杂的网站结构。使用Scrapy可以快速地获取所需的数据,从而为数据分析和挖掘提供支持。 ### 回答2: Python爬虫是一种快速、高效的网络爬虫工具,它利用Python语言及其强大的第三方库实现自动化爬取互联网信息的过程。而Scrapy是一个Python爬虫框架,可以帮助我们快速构建持续性的爬虫应用程序。 基于Scrapy框架的爬虫程序设计,首先需要明确自己的目标:确定目标网站、确定目标页面、确定目标信息。其次,在编写程序之前,我们需要构建好爬虫的数据模型,包括目标页面的结构、目标信息的抽取规则等。Scrapy框架的核心就是Spider,将会快速地处理目标页面,解析数据并且提取出所需信息。这些信息可以经过清洗、存储和分析等处理过程,最终达到我们的预期需求。 爬虫程序的主要步骤是: 1.创建一个Scrapy项目,包括spider、items、pipelines等。 2.定义spider,包括start_urls、parse等。 3.定义item,表示解析结果的结构。 4.定义pipeline,用于处理抓取到的数据。 5.运行爬虫程序并保存数据。 在使用Scrapy进行网络爬虫时,需要遵守相关法律法规,尊重目标网站的利益和知识产权,不进行违法、违规的操作,同时遵守robots.txt协议等规定,如不得爬取不允许抓取的页面。 总之,对于想要进行网络数据采集的人来说,Scrapy是一个非常强大的Python爬虫框架。它支持异步IO和协程等功能,可以快速、高效地提取目标数据。但是,使用Scrapy时需要遵循规则,合理利用,不进行违法、违规操作。 ### 回答3: Scrapy是基于Python语言的爬虫框架,它可以更好的帮我们实现爬取网站的任务。scrapy提供了一整套爬虫流程和一些基本机制,比如:异步处理,中间件机制,数据管道,数据解析等等。这些机制可以帮我们更加简便和高效地进行网络爬取任务。 使用Scrapy爬取网站有以下几个步骤: 1. 安装Scrapy框架 我们需要提前安装好PythonScrapy框架。安装Scrapy比较方便,可以通过pip来安装,命令为:pip install scrapy。 2. 创建scrapy爬虫工程 我们需要使用scrapy startproject 项目名的命令来创建项目,并进入到项目的工程目录来创建爬虫内容,命令为:scrapy genspider 爬虫名 域名。 3. 配置scrapy爬虫的设置 进入到Scrapy工程目录,找到settings.py文件,修改里面的文件配置,包括:User-Agent,爬虫间隔时间,ip代理池设置等等。 4. 配置scrapy爬虫的项 在Spider中定义需要爬取的网站信息,包括URL地址和需要获取的数据。 5. 实现URL地址的解析 在Spider中写解析函数,对爬虫获取到的URL进行解析,获取需要的数据内容。 6. 爬虫启动 最后,使用命令scrapy crawl 爬虫名,启动爬虫爬取的URL资源会被输出进行。如果爬虫爬取的URL过多,那么可以使用命令scrapy crawl 爬虫名 -o 文件名.格式名来保存爬虫获取到的数据内容。 总的来说,Scrapy是一个快速高效的爬虫框架,有着多种策略来处理不同种类的爬虫需求。使用Scrapy进行爬虫的开发,不仅能够为我们省去很多重复性工作,还能够提高我们的开发效率和爬虫的运行效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值