scrapy分页抓取网页(本篇博客在爬取新闻网站信息2的基础上进行)

优采云 发布时间: 2022-01-18 05:10

  scrapy分页抓取网页(本篇博客在爬取新闻网站信息2的基础上进行)

  本博客基于爬取新闻网站信息2.主要内容如下:

  1.定义一个函数来获取一个页面上的 20 个链接

  2.构造多个分页链接

  3.获取多个分页链接新闻内容

  4.使用pandas整理爬取的数据

  5.将数据保存到 csv 文件

  6.Scrapy 安装

  1.定义一个函数来获取一个页面上的 20 个链接

  #定义获取一页20条链接内容的函数

def parseListLinks(url):

newsdetails = []

res = requests.get(url)

jd = json.loads(res.text)

#获取一个页面所有链接(20个左右)

for ent in jd['result']['data']:

#getNewsDetail为获取一个链接内容详情

newsdetails.append(getNewsDetail(ent['url']))

return newsdetails

  #测试

url = 'https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=1&encode=utf-8'

parseListLinks(url)

  

  2.构造多个分页链接

  #构造多个分页链接

pageurl = "https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page={}&encode=utf-8"

for i in range(1,10):

newsurl = pageurl.format(i)

print(newsurl)

  

  3.获取多个分页链接新闻内容

  #抓取多个分页链接新闻内容

import requests

url = 'https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page={}&encode=utf-8'

news_total = []

for i in range(1,3):

newsurl = url.format(i)

newsary = parseListLinks(url)

news_total.extend(newsary)

  #测试打印抓取的两个页面

print(news_total)

  

  4.使用pandas整理爬取的数据

  Pandas 是一个 Python 数据分析包(Python Data Analysis Library)。这里我们使用pandas的DataFrame函数将爬取的数据组织成二维表格数据结构。

  安装pandas套件:进入cmd命令行,输入以下命令进行安装

  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

  

  #用pandas整理爬取出的资料

import pandas

df = pandas.DataFrame(news_total)

#查看后5行数据

df.tail()

  

  5.将数据保存到 csv 文件

  使用 to_csv 函数将数据存储在 csv 文件中。 “ruiyigongfang.csv”是我们导出的文件名,存放在jupyter notebook启动的根目录下,一般在C:\Users\Administrator目录下。

  

  

  查看ruiyigongfang.csv文件内容

  

  至此,用python3爬取新闻网站信息的项目已经完成。

  总结一下:

  爬虫的主要过程分为三个阶段:

  

  下载数据:使用requests套件,通过requests.get('url')方法获取网页信息

  提取数据:使用BeautifulSoup4套件通过soup.select('xxx');解析关系的内容

  保存数据:通过pandas套件将数据组织成二维数据结构,然后通过to_csv()函数将数据以csv格式保存到本地。

  ----------------------------------- ---------- ---------------------------------------- -----

  接下来会有第二个python爬虫项目,等待下一篇博客更新!

  这里先介绍一个简单强大的爬虫框架Scrapy的安装,为后续项目做准备。

  Scrapy 安装

  环境:windows系统,python3

  步骤:

  1.安装轮子:

  py -3 -m pip install wheel

  2.安装 lxml:

  py -3 -m pip install lxml

  3.安装 Twisted:

  下载 Twisted:~gohlke/pythonlibs/#twisted

  注意:下载的版本要与安装的python版本和电脑位数一致。对于python3.7,选择cp37,其他版本依次类推。例如:

  

  安装 Twisted:

  pip install xxx/xxx/Twistedxxx

  注意:xxx/xxx/Twistedxxx是下载的twisted文件所在的绝对路径。比如下载的文件放在D:\目录下,文件名为Twisted‑18.9.0‑cp37‑cp37m‑win_amd64.whl

  命令应该是 pip install D:\Twisted‑18.9.0‑cp37‑cp37m‑win_amd64.whl

  4.安装 Scrapy:

  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy

  5.安装win32py

  下载:,注意下载与python版本和电脑位数一致的文件

  安装:双击pywin32-224.win-amd64-py3.7.exe文件安装

  6.验证

  scrapy -h

  说明:

  安装Scrapy依赖wheel、lxml、Twisted模块

  运行 Scrapy 依赖于 win32py

  完成!尽情享受吧!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线