Python:自己写的一个爬虫,有一个地方出错了,但是找不到原因
本帖最后由 py大神 于 2018-1-18 21:18 编辑#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib.request
import re
#这里处理小说的URL
def spid(url,headers):
req = urllib.request.Request(url,headers=headers)
response = urllib.request.urlopen(req)
html = response.read().decode("gbk")
return html
#这里下面三行添加URL头部,
url = "http://www.31xs.org/12/12970/"
headers = {"这里是headers信息"}
info = spid(url,headers)
#匹配目录(把每一章的URL匹配出来)
re_Cata_Str = r'<dd><a href="/12/12970/.*"'
re_Cata_Obj = re.compile(re_Cata_Str)
re_Cata_Res = re_Cata_Obj.findall(info)
#添加URL(把每一章的URL都添加进一个列表)
url_List = []
url_Num = 0
for i in re_Cata_Res:
all_url =url + re_Cata_Res
url_List.append(all_url)
url_Num += 1
#发起请求(根据每一章的URL发出请求)
text_List = []
for i in url_List:
req = urllib.request.Request(i,headers=headers)
response = urllib.request.urlopen(req)
texthtml = response.read().decode("gbk")
#匹配正文(把正文匹配出来,并添加进一个列表)
re_Text_Str = r'<p>.*?</p>'
re_Text_Obj = re.compile(re_Text_Str)
re_Text_Res = re_Text_Obj.findall(texthtml)
text_List.append(re_Text_Res)
#写入文件
text_Num = 0
text_Num2 = 9#因为前九章是最近更新,所以这里从第一张开始
with open(r"C:\Users\(__ini__)\Desktop\剑来正文.txt",'w') as f:
for i in text_List:#这里把每一章给i
text_Num2 += 1
for e in i:#这里把每一章的第一段给e
print(i,i,e)#按道理说这里的i元素和e打印出来的结果应该是相等的,但是打印出来发现e却是i。这是问什么?
break
f.write(e)
text_Num += 1
break
这是一个爬取我看的一个小说的爬虫,具体功能是根据目录爬取每一章的正文并且写入文件。问题在第52行。
因为for循环中的i就是i BngThea 发表于 2018-1-18 21:22
因为for循环中的i就是i
还真是,快被自己蠢哭了{:10_247:}
感谢老哥!
页:
[1]