由于是我第一次实战,所以并没有什么太大的技术含量,嗯 先发个博客记录一下。
# 代码内容:爬取了寻剧吧新番的更新时间表中所有的番名即其编号
import requests
import re
url = "http://xunjuba.com/zhougen/"
# 进行UA伪装
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3870.400 QQBrowser/10.8.4405.400"
}
resp = requests.get(url,headers=headers)
# 使用re模块中的compile方法预加载正则表达式 (注: (?P<分组名字>正则表达式) 可以单独从正则匹配的内容中进一步提取内容)
obj = re.compile(r'<span class="jtxqj"><a href="/acg/(?P<number>.*?)/" title="(?P<name>.*?)"', re.S) # re.S:让.能匹配换行符
# 使用finditer方法拿到想要的内容
result = obj.finditer(resp.content.decode()) # 由于中文乱码,所以使用content方法中的decode解决 注:decode默认解码格式为'utf-8'
for it in result:
print(it.group("number","name")) # finditer方法返回的结果是迭代器,用group()拿到需要的内容
resp.close()
总结:
今天刚接触正则这方面的内容,所以很多地方并不是很完善。不过这点就已经够了,先熟练掌握好这些在去接触之后的内容。
基础还是有些差,或许该再复习一下基础。