学习笔记
1.嵩天教授爬虫课第三章
B站链接、MOOC链接
第三章的内容是re(regular expression,正则表达式)
re是python自带的标准库无需安装,通过简洁的方式刻画字符串的特征。
re通常使用raw string,避免大量转义字符的使用。
常用操作符:
经典正则表达式实例:
主要方法:
控制标记:
编译:
Match对象:
最小匹配:
re默认为贪婪匹配,即有多个匹配时返回最长的匹配,当需要返回最短匹配时,需要用最小匹配。
2.Datawhale三个实战任务
2.1.淘宝商品比价定向爬虫
- 爬取网址:https://s.taobao.com/search?q=书包&js=1&stats_click=search_radio_all%25
- 爬取思路:
- 提交商品搜索请求,循环获取页面
- 对于每个页面,提取商品名称和价格信息
- 将信息输出到屏幕上
注意:cookie是有时效性的,需要先打开网址(需要登陆淘宝账号),然后在下图位置找到cookie。
# 导入包
import requests
import re
# 提交商品搜索请求,循环获取页面
def getHTMLText(url):
"""
请求获取html,(字符串)
:param url: 爬取网址
:return: 字符串
"""
try:
# 添加头信息,
kv = {
'cookie': 'cna=fEfdFRKIuH8CAWdmLMNW9fP/; t=06c1d4a95d61fdcdef2c8b5e9eae79bb; thw=cn; hng=TW%7Czh-TW%7CTWD%7C158; miid=662854181659420300; _samesite_flag_=true; cookie2=14ad127d55c447afd9cdb865fec3e9db; _tb_token_=fefd535ee3308; sgcookie=EZ121BoL2kOgGgj1sBgB4; unb=2617385050; uc3=vt3=F8dBxGR1S2QYJlph3dQ%3D&nk2=GcBicUe%2B4P0%3D&lg2=WqG3DMC9VAQiUQ%3D%3D&id2=UU6gZjn2erOwMA%3D%3D; csg=e031fa2e; lgc=zh2zh2zh; cookie17=UU6gZjn2erOwMA%3D%3D; dnk=zh2zh2zh; skt=38e3a7b39d12066d; existShop=MTU4NzYzNjkzNw%3D%3D; uc4=id4=0%40U2xt%2Fi2hmQlTJLDDNSO3l5Z48c4B&nk4=0%40GwkTUEseG%2FUrwFSngC6D01rU8Q%3D%3D; tracknick=zh2zh2zh; _cc_=W5iHLLyFfA%3D%3D; _l_g_=Ug%3D%3D; sg=h01; _nk_=zh2zh2zh; cookie1=B0Spc9p07epJ6kfY0jbAtWOan2Lw0Uf2AuKo1h4ZtBU%3D; enc=jm%2FeH%2Br4%2FzP0R8WyRaP56eHn56%2BtOuOWnPAFuT%2BZIkNbNWL6r6hgZFhZTOD9rQGnoD3L3PaodVWGObdRCew5FQ%3D%3D; JSESSIONID=5F00082365D6A6CEB9CEA338FB7C7263; tfstk=cWUCBdVLipvQtW4e781ZYs9lkigdaLXj_EMgOle2FIBMoQPsBsAvuxGwtfv9Wmh1.; mt=ci=2_1; v=0; l=eBOfwFsgq3x_4R7yBOfZEurza7yFjIRAguPzaNbMiT5P_Jfp57XlWZjX_N89CnNVh64wR3yAaP02BeYBq1x0JeHw2j-la1Mmn; isg=BB4ep9JIzOjPJBuV4dTZxkH0b7Rg3-JZWXXOHMinhWFc677FMGygaFrB57fBU9px; uc1=cookie16=V32FPkk%2FxXMk5UvIbNtImtMfJQ%3D%3D&cookie21=URm48syIYB3rzvI4Dim4&cookie15=WqG3DMC9VAQiUQ%3D%3D&existShop=false&pas=0&cookie14=UoTUPcqfG7PGhA%3D%3D'
}
r = requests.get(url, timeout=30, headers=kv)
# r = requests.get(url, timeout=30)
# print(r.status_code)