做一个简单的练习
目标:爬取中文小说
目标网站:http://www.biqule.com/book_58/26986.html
只爬取正文部分。
使用requests库来获取网页信息,使用re库正则匹配正文文本。
这里有一点需要注意的是测试时是使用linux环境下的python,默认编码为utf-8。网页中文文本为gbk编码。读取时需要指定编码为gbk,不然会出现乱码的现象。
具体代码如下:
#!/usr/bin/python3 import requests from requests.exceptions import RequestException import re def open_index(url): try: response = requests.get(url) if response.status_code == 200: response.encoding = 'gbk' return response.text return None except RequestException: return None def parse_one_page(html): pattern = re.compile(' (.*?)<br />',re.S) items = re.findall(pattern,html) print(items) def main(): url = "http://www.biqule.com/book_58/26986.html" html = open_index(url) parse_one_page(html) if __name__ == '__main__': main()