前言

最近在为“兔叽”增加一些小功能,需要爬取某个网页的文字,途中遇到很多问题,我会在接下来几篇一一写出。

正文

因为是从源码中提取文字,首先,我需要爬取网页源码

在这里,我百度了一下“Python 爬虫”,找到了一个办法,这个办法使用了urllib urllib2 这两个库,不太好使,我把它放在最后说。

后来我想起我有一份“小Pi闹钟”的源码,这个代码能让我的树莓派每天用语音报出当天的日期和天气预报,正好它抓取文字的爬虫部分是我需要的。

具体方法如下:

# -*- coding:utf-8 -*-
import requests


# 网址主体
url = 'https://www.baidu.com/s'
# 网址小尾巴
payload = {'ie':'utf8', 'wd':'高考日的倒计时'}
# header
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }


def getHtmlText(url,payload,code='utf-8'):
    try:
        r = requests.get(url, params=payload)
        r.raise_for_status()
        # 用于打印拼好的网址
        #     ...print r.url

        # 把编码转码为 utf-8
        r.encoding = code
        # print r.text  
        #     ...用于打印源码
        return r.text
    except:
        return ''


if __name__ == '__main__':
    html = getHtmlText(url,payload)

这样,我就得到了网页的源码


发表评论

电子邮件地址不会被公开。 必填项已用*标注