1. python2.7 怎样集成 urllib2
python最恶心的地方就在于它的版本和配置了,特别是安装第三方包的时候经常会出现莫名其妙的错误,又不懂。
所以只能不断的切来切去的。
今天学习python爬虫,其中Python2.7使用了urllib和urllib2,python3的urllib结合了py2.7的两部分。但是电脑不知为什么又安装不了py3的urllib,好烦。出现下面的错误。
python2.7和python3主要是模块的位置变化地方较多。
其中python2.7的urllib和urllib2的区别一下:
urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以通过urllib模块伪装你的User Agent字符串等(伪装浏览器)。
urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。
urllib2模块比较优势的地方是urlliburllib2.urlopen可以接受Request对象作为参数,从而可以控制HTTP Request的header部。
但是urllib.urlretrieve函数以及urllib.quote等一系列quote和unquote功能没有被加入urllib2中,因此有时也需要urllib的辅助。
2. 如何用Python爬取数据
方法/步骤
在做爬取数据之前,你需要下载安装两个东西,一个是urllib,另外一个是python-docx。
7
这个爬下来的是源代码,如果还需要筛选的话需要自己去添加各种正则表达式。
3. 如何入门 Python 爬虫
个人觉得:
新手学习python爬取网页先用下面4个库就够了:(第4个是实在搞不定用的,当然某些特殊情况它也可能搞不定)
1. 打开网页,下载文件:urllib
2. 解析网页:BeautifulSoup,熟悉JQuery的可以用Pyquery
3. 使用Requests来提交各种类型的请求,支持重定向,cookies等。
4. 使用Selenium,模拟浏览器提交类似用户的操作,处理js动态产生的网页
这几个库有它们各自的功能。配合起来就可以完成爬取各种网页并分析的功能。具体的用法可以查他们的官网手册(上面有链接)。
做事情是要有驱动的,如果你没什么特别想抓取的,新手学习可以从这个闯关网站开始
,目前更新到第五关,闯过前四关,你应该就掌握了这些库的基本操作。
实在闯不过去,再到这里看题解吧,第四关会用到并行编程。(串行编程完成第四关会很费时间哦),第四,五关只出了题,还没发布题解。。。
学完这些基础,再去学习scrapy这个强大的爬虫框架会更顺些。这里有它的中文介绍。
这是我在知乎的回答,直接转过来有些链接没有生效,可以到这里看原版,http://www.hu.com/question/20899988/answer/59131676
4. python 爬虫时,urllib2.HTTPError:HTTP Error 502:Bad Gateway是什么原因怎么解决
可能是那个网站阻止了这类的访问,只要在请求中加上伪装成浏览器的header就可以了,比如:
headers={
'User-Agent':'Mozilla/5.0(Windows;U;WindowsNT6.1;en-US;rv:1.9.1.6)Gecko/20091201Firefox/3.5.6'
}
req=urllib2.Request(
url="http://www.qiushike.com/imgrank"
,
headers=headers
)
myResponse=urllib2.urlopen(req)