import pymysql
import requestsfromhashlib import md5
import re
import os
#获取网页源代码
def get_one_page(url):
# 设置请求头,防止被网站屏蔽
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
}try:
r= requests.get(url, headers=headers)
r.raise_for_status()
r.encoding=r.apparent_encodingreturnr.text
except requests.HTTPErrorase:
print("由于某种原因获取页面出现错误!"+str(e))
#爬出目标信息所在的网址
def parse_page1(url,list):
#获取网页内容
html=get_one_page(url)
#将正则表达式编译成正则表达式对象
pattern=re.compile('
contents=re.findall(pattern, html)for i incontents:
list.append(i)#向列表添加对象returnlist
url='https:'+url#############要注意爬出的网址是否完整,不完整记得补全,否则会出错
',re.S)contents=re.findall(pattern, html)for i incontents:
list.append(i)#向列表添加对象returnlist
start_url='https://www.qidian.com/all'info_list=parse_page1(start_url,info_list)
# range()包头不包尾`for i in range(1,4):#range(4,1,-1),-1表示顺序递减
info_list=parse_page1(url, info_list)
# x_list存的是目标信息,从目标信息所在的网址爬出需要的目标信息