完整代码
import re
import time
import requests
from concurrent.futures import ThreadPoolExecutor
# 正则匹配图片所有封面的链接:子链接 ,并给子链接起个名字叫href:?P<名字>
a_href = re.compile(r'<a class="media-content" href="(?P<href>.*?)"',re.S)
# 正则匹配子链接里的所有图片链接
img_src = re.compile(r'<img aria-describedby="(.*?)" class="(.*?)" title="(.*?)" data-src="(?P<src>.*?)"',re.S)
def getData(baseurl):
url = baseurl
get_html = askUrl(url)
result = a_href.finditer(get_html) # 创建个迭代器,将正则匹配到的子链接全部存进去,方便后面使用
href_list = [] # 对子链接的存储
for url_list in result:
urls = url_list.group("href") #对href 进行组存储 :匹配正则表达式整体结果
href_list.append(urls) # 存进列表里
for img_href in href_list:
img_src_list = requests.get(img_href,headers=head) # 请求子链接得到源码
img_src_list.encoding="utf-8"
# print(img_src_list.text)
result2 = img_src.finditer(img_src_list.text) #创建个迭代器:存储将正则匹配到的子链接里的所有图片的src
for src_img in result2:
src_list