全网文章 采集(高考派大学数据采集案例实测发现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起*敏*感*词*。大多数目标站点都可用。当然,也有因为网站的升级和界面的更新导致原地址失效的情况。
在保证与原博客实现的技术一致的同时,橡皮擦替换了部分案例,方便大家继续学习。