标签:Python 爬虫 gz re fan url 004 data findall
正则规则模板 与 应用(一)
先看这些视频,是在哪个div里面的
for datapage in soup.find_all("div", class_="lpic"):
# 一个li标签,包含一个视频
for data in datapage.find_all("li"):
# 不知道soup代表着什么,没关系,也别急着写,继续往后看
我们要获取的是
1.视频的标题
2.视频的类型
3.视频的介绍
4.视频的详情页链接
5.视频的封面图链接
正则规则模板
# 正则规则开始
gz_fan_title = re.compile(r'''<a href=".*?" title=".*?">(.*?)</a>''',re.S)
gz_fan_url = re.compile(r'''<a href="(.*?)"''',re.S)
gz_fan_url_img = re.compile(r'''referrerpolicy="no-referrer" src="(.*?)"''',re.S)
gz_fan_type = re.compile(r'''<span>类型:(.*?)</span>''',re.S)
gz_fan_message = re.compile(r'''<p>(.*?)</p>''', re.S)
# 正则规则结束
应用正则规则模板
data = str(data)
fan_title = re.findall(gz_fan_title, data)
fan_url = re.findall(gz_fan_url, data)
fan_img = re.findall(gz_fan_url_img, data)
fan_type = re.findall(gz_fan_type, data)
fan_message = re.findall(gz_fan_message, data)
那么上面的data
是什么,怎么获得呢?
# 假设搜索love
pageNumber = xrilag_SearchAll("love")
# xrilag_SearchAll是自定义函数,想了解其具体代码的请查看博客https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html
# pageNumber是搜索结果的总页数
# 使用for循环,一页一页进行处理
for page in range(pageNumber):
# 根据页面跳转的地址改变规则写出页面含变量链接,然后进行源码获取,后面便可以对这一页展开分析与爬取数据了(https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html)
html_Document = xrilang_UrlToDocument("https://www.yhdmp.cc/s_all?kw=love&pagesize=24&pageindex=" + str(page))
# xrilang_UrlToDocument是自定义函数,作用是获取网页源码。想了解其具体内容,请查看博客https://www.cnblogs.com/mllt/p/python_pc_pl_edu_002.html
# 创建一个Beautiful Soup对象
soup = BeautifulSoup(html_Document, "html.parser") # parser是解释器
# 使用了.kpic样式的div,包含且只包含了此页的所有视频列表
for datapage in soup.find_all("div", class_="lpic"):
# 一个li标签,包含一个视频
for data in datapage.find_all("li"):
# 应用正则规则模板
data = str(data)
fan_title = re.findall(gz_fan_title, data)
fan_url = re.findall(gz_fan_url, data)
fan_img = re.findall(gz_fan_url_img, data)
fan_type = re.findall(gz_fan_type, data)
fan_message = re.findall(gz_fan_message, data)
标签:Python,爬虫,gz,re,fan,url,004,data,findall 来源: https://www.cnblogs.com/mllt/p/python_pc_pl_edu_004.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。