import requests,time
response=requests.get(url)
#页面解析 re,bs
response.encoding
response.content.decode(response.apparent_encoding)#自动计算网页编码
from bs4 import beautifulsoup
soup=beautifulsoup(html,’lxml’) #lxml 需要安装得 也可以使用html.parser替换lxml,这样不需要安装
mydiv=soup.find(“div”,id=’list’) #用于找符合条件得一个条件
dd_list=mydiv.find_all(‘dd’) #用于找符合条件得所有
url_list=[] #建立一个空列表
for dd in dd_list:
partial_url=dd.find(‘a’)[‘href’]
url=’书得连接’+partial_url
url_list.append(url)
dd.find(‘a’).get
def get_data(url):
response=request.get(url)
if response.status_code==200:
html=respsonse.content.decode(response.apparent_encoding)
return html
else:
print(‘抓取失败’)
def parse_data(html): #解析每一章
soup=beautifulsoup(html,’lxml’)
title=soup.dinf(‘div’,class_=’bookname’),find(‘h1’).text
content=soup.find(‘div’,id=’content’)
return title + ‘\n’ +content
result=”
for index,url in enumerate(url_list[:10],1):
print(f’开始抓取第{index}章。。。。。。。。’)
while true:
html=get_data(url)
if html:
text=parse_data(html)
result+=text
result+=’\n’
break
#休息一会
if index%10==0:
time.sleep(1)
else:
html=get_data(url)
with open(‘zhongjikouluo.txt’,’w’,encoding=’utf-8′) as f:
f.write(result)
#多线程