parent
893fdbbb05
commit
d6f92c8bae
@ -0,0 +1,43 @@
|
||||
import requests
|
||||
from lxml import etree
|
||||
import csv
|
||||
|
||||
def get_source(url, headers):
|
||||
r = requests.get(url, headers=headers)
|
||||
dom = etree.HTML(r.text)
|
||||
url_list = dom.xpath('//div[@class="book-list clearfix"]/ul/li/a/@href')
|
||||
return url_list
|
||||
|
||||
|
||||
def get_title(url, headers):
|
||||
|
||||
r = requests.get(url, headers=headers)
|
||||
dom = etree.HTML(r.content.decode("utf-8"))
|
||||
biaoti = dom.xpath('//h1/text()')[0]
|
||||
zw = dom.xpath('//article/div[1]/div//text()')
|
||||
return biaoti, zw
|
||||
|
||||
|
||||
def save_txt(biaoti, zw):
|
||||
a=""
|
||||
for i in zw:
|
||||
a=a+i
|
||||
with open(biaoti+".txt",'a+',encoding='utf-8') as f:
|
||||
f.write(a)
|
||||
def save_csv(list):
|
||||
headers=["网址","标题","正文长度"]
|
||||
with open("苏东坡传.csv",'w+',encoding='utf-8') as f:
|
||||
w = csv.writer(f)
|
||||
w.writerow(headers)
|
||||
w.writerows(list)
|
||||
|
||||
url = "https://www.xingyueboke.com/sudongpozhuan/"
|
||||
headers = {"User-Agent":
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0"}
|
||||
url_list = get_source(url, headers)
|
||||
list =[]
|
||||
for i in url_list:
|
||||
biaoti, zw = get_title(i, headers)
|
||||
save_txt(biaoti,zw)
|
||||
list.append([i,biaoti,len(zw)])
|
||||
save_csv(list)
|
Loading…
Reference in new issue