个人笔记:爬虫的惯用流程

# 爬虫最佳流程
# 导入模块
import requests
import re

# 定义url
url="https://item.jd.com/10038899648257.html"

# 定义头部信息(通过F12或者右键检查获取,刷新)
headers= {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62"}

# 调用requests,url,headers,返回网页的HTML编码
response = requests.get(url, headers=headers)

# 将HTML编码解码返回文本
response_text = response.text

print(response_text)

# 通过正则化提取所需要的文本(通过查看response_text,找到需要的文本,通过正则化获取所需要的文本)
# 定义一个正则表达式变量,使用一个非贪婪匹配.*?
a = "<li title='OPPOA11s'>商品名称:(.*?)</li>"
# 将正则字符串编译成正则表达式对象
a_pattern = re.compile(a, re.S)  # 由于.是匹配任意字符,除了换行符匹配不了,所以加上修饰符re.S就可以解决这个问题了

# 调用re.findall()方法会依此扫描字符串,找到所有符合规则的字符串,然后返回匹配内容,如果搜索完没有找到,就返回None
result = re.findall(a_pattern, response_text)

print(result)

"""
re.match()方法在使用时是从字符串的开头开始匹配的
re.search()方法会依此扫描字符串,直到找到第一个符合规则的字符串,然后返回匹配内容,如果搜索完没有找到,就返回None
re.findall()方法会依此扫描字符串,找到所有符合规则的字符串,然后返回匹配内容,如果搜索完没有找到,就返回None
还需要在合适的地方对re.sub()方法进行使用,往往会起到事半功倍的效果
"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值