用Python爬取纵横中文网-秘密使命_第一章
URL:http://book.zongheng.com/chapter/749819/41642942.html
回到网页看一下页面的真实源码,在开发者模式下的 Network 监听组件中查看源代码(Response)。
查看其中一个条目的源代码。如图所示:
爬取信息
import requests
from pyquery import PyQuery as pq
url = "http://book.zongheng.com/chapter/749819/41642942.html"
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Inter Mac OS X 10_12_13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
html = requests.get(url, headers=headers).text
doc = pq(html)
items = doc('.title') # 选取class为title的节点
# 调用find()方法,传入CSS选择器,选取items其内部为title_txtbox的节点;调用text()方法获取节点内部的文本信息.
title = items.find('.title_txtbox').text()
items = doc('.bookinfo') # 选取class为title的节点
author = items.text() # 调用text()方法获取节点内部的文本信息.
contents = doc('.content').text() # text()方法不需要遍历就可以获取;如果想要获取这个节点内部的 HTML 文本,要用 html()方法
# p节点代表一个段落,获取文本之后,每个p节点会换行。
file = open('novel.txt', 'w', encoding='utf-8') # open()方法打开一个文本文件,获取一个文件操作对象,这里赋值为file
file.write('\n'.join([title, author, contents])) # 利用 file象的 write ()方法将提取的内容写入文件
file.write('\n' + '=' * 50 + '\n')
file.close()
运行程序,本地会生成一个novel.txt文件,结果如下: