㈠ python爬虫页面遇到的问题
import urllib2
proxy_support = urllib2.ProxyHandler({'http':'http://XX.XX.XX.XX:XXXX'})
opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
content = urllib2.urlopen('http://XXXX').read()
㈡ python爬虫爬取不出信息
Python爬虫程序本身没有问题,但是却爬取不了数据主要原因如下:
1.对方有反爬程序
几乎所网站为了防止一些恶意抓取,会设置反爬程序,你会发现明明很多数据显示在浏览器上,但是却抓取不出来。
2.伪装方式没有绕过目标网站反爬
网站都有反爬虫机制,防止爬取数据,爬虫想要爬取数据,就需要隐藏自身的身份,伪装成用户的身份进行访问,如果没有伪装好,被检测到爬虫,也是被会限制的。比如请求头没有设置好,Cookie问题等等。
3.IP被限制
爬虫除了IP所有数据都可以伪装,当你的IP访问次数过多之后,就会被限制住,再也无法访问了。这个时候就需要带入ip代理池了。
㈢ python3 爬取图片异常的原因
我们在下载文件时,一会会采取urlretrieve或是requests的get方式,
from urllib.request import urlretrieve
urlretrieve(self.url, filename="xxx.png")
但对于连续下载,各个文件保存是需要时间的,而程序运行永运是快于存储的,我怀疑这是水管里流水速度与缸的大小不合适的原因,那可以试试下面这种方式:
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
㈣ Python爬取天气信息的时候出现了错误提示
应该是编码的问题,建议city这个字典的key使用unicode,即u'郑州'。
另外对输入值做编码转换(str.encode('unicode')),编码是一个头疼的问题,你可以print下key和你输入的内容是不是一个东西。
最后,建议使用字典的get方法来取值,即city.get(str)。
如果是自己用的代码或者城市不多,可以使用代码来替代,例如0371