学习使我快乐
初学者,爬取manhua.fzdm.com上妖精的尾巴漫画,
没做任何防错设施和防爬虫设施,因为不会。。。
运行的时候过了好久才被发现,可能是网速太慢了
import requests
import re
import os
#获得一页的响应
def get_one_page(url):
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4482.400 QQBrowser/9.7.13001.400'}
response=requests.get(url,headers=headers)
return response
#在源码中找到图片的地址
def parse_one_page(html):
pattern=re.compile('var\smhurl="(.*?)".*?var e.*?e.src="(.*?)"+',re.S)
address=re.search(pattern,html)
picture_address=address.group(2)+address.group(1)
return picture_address
#访问图片地址并保存
def get_picture(picture_address):
r=requests.get(picture_address)
with open(str(a)+'_'+str(b)+'.jpg','ab') as f:
f.write(r.content)
def main(a,b):
html=response.text
picture_address=parse_one_page(html)
result=get_picture(picture_address)
if __name__=='__main__':
os.mkdir('D:\\妖精的尾巴')
os.chdir('D:\\妖精的尾巴')
for a in range(420,515): #从420章到514章
for b in range(1,30): #每一章从第1页找到29页,如果没20多页以后的网址,break
url='http://manhua.fzdm.com/27/'+str(a)+'/index_'+str(b)+'.html' #27是这个网站上妖尾的。。。
response=get_one_page(url)
if response.status_code==200:
main(a,b)
else:
break