爬取数据时,是不是只能每个网站每个网站的分析,有没有通用的方式?

2017-08-01 23:56:54 +08:00
 agentwx

各位爬虫大大们,在爬取数据时,是一个网站一个网站的分析来爬取的,还是说有一种通用的方式来进行? 抓取数据的入口和抓取到的数据是如何保持通用性呢?

4483 次点击
所在节点    Python
16 条回复
onlyice
2017-08-02 07:09:19 +08:00
没有通用的方式,一个一个来

数据通用性的话,先多观察你要爬的网站的数据结构,再根据这个定出你的数据库结构。遇到新网站不兼容时,积极重构代码和数据库
jingniao
2017-08-02 07:13:12 +08:00
如果想要格式化的数据,没什么好的方法。
非格式化的数据那就是搜索引擎的那样的了。
dong3580
2017-08-02 08:57:02 +08:00
@jingniao
你有没有发现,google 的格式化视图结果居然能够针对各个网站格式化数据,而且做的很好。
agentwx
2017-08-02 09:07:27 +08:00
@dong3580 google 的格式化视图是什么? google 下没找到是什么呢
chendajun
2017-08-02 09:23:43 +08:00
做爬虫也好多年了,一般抓取网站中的标题,文章发布时间,正文,文章图片。可以做到 80%用通用规则解决。
1,标题:在提取链接的时候把 link title 保存下来
2,文章发布时间:用网页 heads 里的 last modify
3,抽取正文:有开源的模块( Python 有 readability-lxml,Java 有 JoyHtml
4,文章图片:在抽取的正文中提取<img>
est
2017-08-02 09:37:00 +08:00
正文抽取

其实有可视化的元素选择器。
Hello1995
2017-08-02 10:31:12 +08:00
要我肯定选( Java 的) jsoup,虽然也要每个站分析,但轻松多了。
klxq15
2017-08-02 12:37:24 +08:00
@dong3580 那是网站的站长提交了数据格式
agentwx
2017-08-02 12:59:22 +08:00
@chendajun 感谢,我分析下
agentwx
2017-08-02 16:33:08 +08:00
@est 你说的可视化的元素选择器是什么?
ivechan
2017-08-02 17:55:08 +08:00
就算强如 Google Baidu, 也需要别人提交 sitemap 来提升被收录的"体验",
通用正文(or 其他)提取是一个技术难点.
geofvt
2017-08-02 21:58:25 +08:00
@agentwx css,xpath 选择器
slideclick
2017-08-03 11:10:27 +08:00
现在 google 你搜索一些 how to 它会出来一个步骤,我觉得是 goolge 机器判断出来的,不是站长提交的. 这个技术估计 goolge 比较先进,个人爬虫只能 xpath 了
est
2017-08-03 13:57:39 +08:00
@agentwx 就是页面上点一下你要爬的内容,会自动爬其他网页。
yeless
2017-08-03 14:18:49 +08:00
有个 正文抽取咯
sunwei0325
2017-08-10 18:37:30 +08:00
可视化抓取可以试一下 portia
https://github.com/scrapinghub/portia

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/379668

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX