鱼C论坛

 找回密码
 立即注册
查看: 1624|回复: 22

关于scrapy crawlspider

[复制链接]
发表于 2018-12-12 15:55:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
是这样的,想深爬一下新浪新闻里所有大标题下的小标题下的所有文章 https://www.sina.com.cn/
但是我想用crawlspider来写,第一步就是获取大标题,问题就是crawlspider如何对start_urls里的网址进行解析,想把大标题建个文件夹然后放入小标题文件夹然后放入文章的.txt
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-12-12 16:28:37 | 显示全部楼层
我找到了个解决办法就是LinkExtractor(allow=r'https://www.sina.com.cn/')自己本身,实现初始网站的提取
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 17:27:30 | 显示全部楼层
写个start_url 函数就好了。  
我之前发上来的妹子图爬虫有用到。可以去看一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 18:37:08 | 显示全部楼层
wongyusing 发表于 2018-12-12 17:27
写个start_url 函数就好了。  
我之前发上来的妹子图爬虫有用到。可以去看一下

哦,那我有空去看下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 18:50:45 | 显示全部楼层
wongyusing 发表于 2018-12-12 17:27
写个start_url 函数就好了。  
我之前发上来的妹子图爬虫有用到。可以去看一下

有个问题哈,就是父标题网页和子标题网页的问题
在新闻大标题中有有国内,国际,军事
国内,国际的子标题网址跟新闻父标题当时可以用个 if startwith来判断
但是军事的子标题网址是"http://mil.news.sina.com.cn/" 而新闻父标题是"http://news.sina.com.cn/"
这个怎么来产生联系
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 19:02:11 | 显示全部楼层
fan1993423 发表于 2018-12-12 18:50
有个问题哈,就是父标题网页和子标题网页的问题
在新闻大标题中有有国内,国际,军事
国内,国际的子标 ...

用正则或字符拼接进行判断。  

不会就分开写两个爬虫区别对待,就复制粘贴,然后修改url
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 19:13:03 | 显示全部楼层
wongyusing 发表于 2018-12-12 19:02
用正则或字符拼接进行判断。  

不会就分开写两个爬虫区别对待,就复制粘贴,然后修改url

不好判断的,有些父子标题完全没有什么联系。我刚才是学的某位老师写的,以字符串startwith来判断,感觉有些是行不通的,用正则或者字符串前提是要有某些相似或者什么才可能做,写两个爬虫是什么,大标题和小标题必须要是父子文件夹才行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 19:13:35 | 显示全部楼层
fan1993423 发表于 2018-12-12 19:13
不好判断的,有些父子标题完全没有什么联系。我刚才是学的某位老师写的,以字符串startwith来判断,感觉 ...

我现在只有改变思路了,通过他们是同一个ul标签来写
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 19:39:57 | 显示全部楼层
fan1993423 发表于 2018-12-12 19:13
我现在只有改变思路了,通过他们是同一个ul标签来写

国内和国际版块结构是相同的,军事是额外完全不一样的结构。  
国内和国际可以写成一个爬虫更换url就行了。   
军事版块需要额外去写一条爬虫。

简单来说,你需要写两条爬虫才行。   

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 19:59:05 | 显示全部楼层
wongyusing 发表于 2018-12-12 19:39
国内和国际版块结构是相同的,军事是额外完全不一样的结构。  
国内和国际可以写成一个爬虫更换url就行 ...

对,但是还有其他父标题也和子标题不一样,如果都要在写个爬虫,真的累死,而且其他子标题下有的文章很少。其实爬东西不难,难得是怎么让其实有序的。如果单独写爬虫又该怎么来加入其相应的父标题下。想到就脑壳痛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 20:08:59 | 显示全部楼层
fan1993423 发表于 2018-12-12 19:59
对,但是还有其他父标题也和子标题不一样,如果都要在写个爬虫,真的累死,而且其他子标题下有的文章很少 ...

这些大型网站,爬取全站
肯定是要分开写。  
有时还要分开二级域名来写。  

给个思路你吧。  
爬取全站,你先把首页的15个大类进行一一标记。  
然后例如国内和国际新闻是相同的,归为A
逐步的把这15个大类中的小类进行区分。  
最后应该只会剩下30到40条爬虫要写。  
也不是很多吧。起码少了很多。   
没数错的话,大概有55个子类要爬。  
你认真归类一下,可能到最后只要写20到30条爬虫就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 20:12:51 | 显示全部楼层
wongyusing 发表于 2018-12-12 20:08
这些大型网站,爬取全站
肯定是要分开写。  
有时还要分开二级域名来写。  

头大,大佬有没有兴趣来写一下新浪全站,认真拜读一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 20:17:07 | 显示全部楼层
fan1993423 发表于 2018-12-12 20:12
头大,大佬有没有兴趣来写一下新浪全站,认真拜读一下

没兴趣,我从良了。
自从上次被举报后。
我在研究反爬虫和反反反爬虫
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 20:27:47 | 显示全部楼层
wongyusing 发表于 2018-12-12 20:17
没兴趣,我从良了。
自从上次被举报后。
我在研究反爬虫和反反反爬虫

这个又不是啥子大尺度的东西,想举报都举报不了。我感觉scrapy快是快,就是这个有序问题太难了,尤其还是异步行动,上回图片那个我通过找时间顺序才算有序,不然全是乱套的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-12 20:34:28 | 显示全部楼层
wongyusing 发表于 2018-12-12 20:08
这些大型网站,爬取全站
肯定是要分开写。  
有时还要分开二级域名来写。  

你说的这个思路,我现在水平可能很难实现,这样吧,大佬,你如果写好了,发给我邮箱可以不
我邮箱a2261294@163.com
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 21:07:21 | 显示全部楼层
fan1993423 发表于 2018-12-12 20:34
你说的这个思路,我现在水平可能很难实现,这样吧,大佬,你如果写好了,发给我邮箱可以不
我邮箱

分开写20来条爬虫,挺简单的。  
而且后续只需要稍微更改解析式就行了。  
网站都有发布时间的。  
抓一下排序就好了。  
你稍微认真分析结构就好了。   

我现在无聊到在写几个小网站。
不写爬虫
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-13 11:09:32 | 显示全部楼层
@塔利班 大佬有没有兴趣挑战一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 11:13:48 | 显示全部楼层
fan1993423 发表于 2018-12-13 11:09
@塔利班 大佬有没有兴趣挑战一下

丝瓜皮用的少,= =
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-13 11:16:21 | 显示全部楼层
塔利班 发表于 2018-12-13 11:13
丝瓜皮用的少,= =

用其他方法也行,只要速度还行,又能达到目的就行。我现在希望学习大佬的代码。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-13 11:21:27 | 显示全部楼层
本帖最后由 塔利班 于 2018-12-13 11:26 编辑
fan1993423 发表于 2018-12-13 11:16
用其他方法也行,只要速度还行,又能达到目的就行。我现在希望学习大佬的代码。


爬虫方面我感觉真不是大佬,我觉得楼上的和幽梦三影都可以,多线程爬取吧,
最近事情比较多,本人还得学习一些东西,你可以在作品展示区的几个爬虫帖子里找到适合你的,
我记得有
0.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-12 06:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表