1,067
社区成员




import requests
import re
source = requests.get('https://www.zysj.com.cn/lilunshuji/index__2.html').content.decode()
list1=re.findall('<div id="list-content">.*?</div>',source,re.S)
indexlist=re.findall('title="《(.*?)》',list1[0],re.S)
print(list1[0])
print(re.findall('href=".*?" title="《百病自测》"',list1[0],re.S))
这是我的一段代码。想从一个网站中获取指定书名对应的url。前面通过匹配获得的list1数据为:
然后从其中匹配《百病自辩》中的url
print(re.findall('href=".*?" title="《百病自测》"',list1[0],re.S))
按理来说我使用的是非贪婪模式,获得的应该只是href="/lilunshuji/baibingzice/index.html" title="《百病自测》"一小段,为什么实际的匹配结果却是这样?
请各位大神赐教!
你可以这样写:
1、获取书名是这样 : >(.*?) 这是正则表达式的规则。
2、获取 url 这样写: 。通过这俩个规则,配合 re.findall即可,然后取出下标为 0 的元素就行。希望可以帮到你