全网文章 采集(高考派大学数据采集案例实测发现36Kr网站已经更新)

优采云 发布时间: 2021-12-09 11:18

  全网文章 采集(高考派大学数据采集案例实测发现36Kr网站已经更新)

  文章内容

  案例29:手机APP数据采集

  经过测试,网站还在,只是爬不出来这么多页的数据。采集 只能有 1000 页的数据。

  而且网站页码也很有意思,换成下面的顺序

  https://www.liqucn.com/rj/new/?page=15405

https://www.liqucn.com/rj/new/?page=15404

……

https://www.liqucn.com/rj/new/?page=14406

  案例30:高考大学数据采集

  这个网站不见了。打开后会显示如下内容: 网站 流量过大,系统正在升级。对带来的麻烦表示抱歉。, 这可以由爬虫采集 完成吗?

  

  由于高考数据已经没有了,切换到【建筑档案】网站()数据抓取。

  技术点是学习原文。代码只修改start_requests函数和parse函数,同步修改items.py文件。

  # 需要重写 start_requests() 方法

def start_requests(self):

# 只获取 20 页数据

for page in range(1, 5):

form_data = {

"type": "1",

"limit": "17",

"pageNo": str(page)

}

request = FormRequest(

self.start_url, headers=self.headers, formdata=form_data, callback=self.parse)

yield request

def parse(self, response):

# print(response.body)

# print(response.url)

# print(response.body_as_unicode())

data = json.loads(response.body_as_unicode())

data = data["rows"] # 获取数据

print(data)

for item in data:

school = MyspiderItem()

school["title"] = item["title"]

school["userName"] = item["userName"]

school["createTime"] = item["createTime"]

# 将获取的数据交给pipelines,pipelines在settings.py中定义

yield school

  完整代码下载链接:案例30

  案例31:36氪(36kr)数据采集scrapy

  本案例实测发现36氪网站已更新,数据流加载方式发生变化。本文暂不更新加载方式。我们会为大家添加一个新站点,CSDN粉丝列表数据采集。当然,在更新这篇文章的时候,《120爬虫》已经更新了多线程版本,大家可以查看这个链接进行学习。

  文章 不会再爬其他博客了,以自己的博客为例。

  https://blog.csdn.net/community/home-api/v1/get-fans-list?page=3&size=20&noMore=false&blogUsername=hihell

  爬虫核心代码如下:

  import scrapy

from scrapy import Request

import json

from items import CsdnItem

class CSpider(scrapy.Spider):

name = 'C'

allowed_domains = ['blog.csdn.net']

start_urls = ['https://blog.csdn.net/community/home-api/v1/get-fans-list?page=1&size=20&noMore=false&blogUsername=hihell']

def parse(self, response):

# 总页码临时设置为 10

for page in range(2,11):

print("正在爬取{}页".format(page),end="")

yield Request("https://blog.csdn.net/community/home-api/v1/get-fans-list?page={}&size=20&noMore=false&blogUsername=hihell".format(str(page)), callback=self.parse_item)

def parse_item(self,response):

data = json.loads(response.body_as_unicode())

print("*"*100)

item = CsdnItem()

for one_item in data["data"]["list"]:

item["username"] = one_item["username"]

item["blogUrl"] = one_item["blogUrl"]

yield item

  完整代码下载地址:案例31,代码中缺少数据存储部分,学习参考原博客即可。

  案例32:从B站博客评论数据中抓取scrapy

  博文还是比较火的。案子已经分了很久了,一点问题都没有。界面可用,代码可用,可以继续正常学习。

  以后可以安排更多B站的采集相关内容,比较稳定。

  案例33:《海王》评论数据爬虫scrapy

  本案例为猫眼评论数据采集。测试时发现滑动验证码,其余内容没有变化。如果在学习过程中发现这个问题,建议切换到其他评论API数据,操作流程和编码规则基本一致,继续学习即可。

  博客地址:

  案例34:掘金全站用户爬虫scrapy

  没想到三年前就有了采集掘金数据。这段时间掘金发生了一些变化。首先域名已经从juejin.im切换到了,需要将博客的test URL修改为,然后修改settings.py文件的内容。关键修改参考如下代码:

  DEFAULT_REQUEST_HEADERS = {

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

'Accept-Language': 'en',

"Host": "juejin.cn",

"Referer": "https://www.baidu.com",

"Upgrade-Insecure-Requests": "1",

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"

}

  原博客地址:

  案例35~案例40:Python爬虫入门教程35-100知乎网站用户爬虫scrapyPython爬虫入门教程36-100宽站点应用爬虫scrapyPython爬虫入门教程37-100云沃克项目外包网络数据爬虫入门教程scrapy 38-100教育部大学名单

  您可以继续访问这5个博客所涉及的目标站点,您仍然可以学习和应用该博客。

  案例40:博客园博客采集中,搜索结果添加了验证码,识别难度很大。在新版《120爬虫》中,我们尝试解决了反爬虫部分。

  

  今日回顾总结

  今天,审查了11起*敏*感*词*。大多数目标站点都可用。当然,也有因为网站的升级和界面的更新导致原地址失效的情况。

  在保证与原博客实现的技术一致的同时,橡皮擦替换了部分案例,方便大家继续学习。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线