使用python爬取网页

852 查看

python的特点经常使得其作为一个网络爬虫来使用,那么如何使用python这样一个简洁强大的语言来写一个爬虫呢?

requests的使用

requests是一个用python来进行请求的一个库
安装

pip install requests

使用requsesst进行get和post操作

r = requests.get('https://github.com/timeline.json')

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)
  • 使用print r.text可以阅读其内容,但一般会出现错误,此时可以使用的解决方案有:
    r.encoding = 'utf-8'
    print r.text.encode('utf-8')
  • 使用 r.content可以访问回应的数据流,比如Response是一张图片,则可以这样打开它

    from PIL import Image
    from StringIO import StringIO
    i = Image.open(StringIO(r.content))
  • r.json()方法返回json格式的数据

获得response之后

可以使用另外一个库

beautifulsoup来解析