python抓取网页数据(数据科学越来越火了,如何抓网页数据?(图))
优采云 发布时间: 2022-02-21 09:01python抓取网页数据(数据科学越来越火了,如何抓网页数据?(图))
前言:
数据科学越来越流行,网页是一个巨大的数据来源。最近有很多人问如何抓取网页数据。据我所知,常见的编程语言(C++、java、python)都可以实现网页数据抓取,甚至很多统计/计算语言(R、Matlab)都可以实现和网站交互的包。我试过用java、python、R爬取网页,感觉语法不一样,但是逻辑是一样的。我将使用python来谈谈网络抓取的概念。具体内容需要看说明书或者google别人的博客。水平有限,有错误或者有更好的方法,欢迎讨论。
第 1 步:熟悉 Python 的基本语法。
如果您已经熟悉 Python,请跳至第 2 步。
Python 是一种相对容易上手的编程语言。如何开始取决于编程基础。
(1)如果你有一定的编程基础,建议看google的python类,链接
这是一个为期两天的短期培训课程(当然是两天全天),大约七个视频,每个视频后面都有编程作业,每个作业可以在一个小时内完成。这是我学python的第二门课(第一门课是codecademy的python,很久以前看的,很多内容记不住了)。那个时候,我每天看视频+编程作业一个多小时,六天就看完了。不错,用python写基本程序没问题。
(2)如果你没有任何编程基础,我建议你在coursera上阅读莱斯大学的An Introduction to Interactive Programming in Python。我没有上过这门课程,但是在coursetalk上的评论很好。还有同学的评论(点这里),课程链接:Udacity上的CS101也是一个不错的选择,领域里有相关的讨论帖(点这里),而这门课叫做build a search engine,里面会专门讲和Network相关的模块,其他的学习资源还有code school和codecademy,这些资源也挺不错的,但是编程量太少了,初学者应该系统的跟着课,多练习,打下扎实的基础.来自:/bbs
当然,每个人的喜好不一样,我推荐的不一定适合你。你可以先看看这个帖子【长期红利帖】介绍别人在你上过的公开课上说了什么,或者看课程点评再做决定。
第 2 步:了解如何与 网站 链接并获取网页数据。 从1点3英亩bbs
编写一个脚本来与 网站 交互。有必要熟悉与 python 和网页相关的几个模块(urllib、urllib2、httplib)之一。只知道一个,其他的都差不多。这三个是python提供的与网页交互的基础模块,还有其他的,比如:mechanize和scrapy,我没用过,可能性能更好。对于基本的网页抓取,前三个模块就足够了。
以下代码演示了如何使用urllib2与谷歌学者交互获取网页信息。
#导入模块urllib2
导入 urllib2
# 查询任意文章,如On random graph。谷歌搜索每个查询
#学者有一个url,这个url形成的规则要自己分析。
query = 'On+random+graph'
url = '#39; + 查询 + '&btnG=&as_sdt=1%2C5&as_sdtp='-google 1point3acres
# 设置头文件。抓取一些网页不需要特殊的头文件,但是如果这里没有设置,
# google 会认为机器人不允许访问。另外,访问一些网站和设置cookie会比较复杂,
#这里暂不提及。关于如何知道如何编写头文件,一些插件可以看到你使用的浏览器和网站交互
#头文件(很多浏览器自带这个工具),我用的是firefox的firebug插件。
header = {'Host': '',
'用户代理': 'Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0',. 1 点 3 英亩哄骗
'接受': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',