爬虫
文章平均质量分 50
爬虫
小旺不正经
阿里云专家博主、51CTO专家博主
展开
-
爬虫基础-前端基础
Html是骨骼、css是皮肤、js是肌肉,三者之间的关系可以简单理解为m(html)-v(css)-c(js)原创 2024-01-28 22:21:31 · 1080 阅读 · 1 评论 -
爬虫基础-计算机网络协议
一个数据的传输这些设备的数据转发是通过协议来完成的,整个互联网可以说是完全由网络协议来维持的不同的协议分工不同,比如ip协议确保了ip寻址,tcp协议确保了数据完整性。原创 2024-01-28 22:20:42 · 1292 阅读 · 1 评论 -
爬虫练习-获取imooc课程目录
获取全部 class为title_info的span标签。获取网页 使用BeautifulSoup解析。循环输出标签的text。原创 2023-12-17 19:50:29 · 1335 阅读 · 2 评论 -
BeautifulSoup解析网页
BeautifulSoup解析网页提取对象遍历文档树获取第一个acticle 的标题soup.article.a.div.h4.textimport requestsfrom bs4 import BeautifulSoupheaders={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0'}html=requests.get('https://b原创 2021-12-21 15:39:40 · 694 阅读 · 0 评论 -
正则表达式解析网页
正则表达式解析网页首先将源代码变成字符串,然后用正则表达式匹配想要的数据模式描述模式描述.匹配任意字符,除了换行符\s匹配空白字符*匹配前一个字符0或多次\S匹配任何非空白字符+匹配前一个字符1或多次\d匹配数字,[0~9]?匹配前一个字符0或1次\D匹配任何非数字,[ ^0~9 ]^匹配字符串开头\w匹配字母数字,[A-Za-z0-9]$匹配字符串结尾\W匹配非字母数字,[ ^A-Za-z0-9 ]( )原创 2021-12-20 22:59:53 · 3323 阅读 · 0 评论 -
静态网页爬取-Requests
静态网页爬取-Requestsimport requestsr=requests.get('http://www.baidu.com/')print(r.encoding)print(r.status_code)print(r.text)r.text 服务器响应的内容,会自动根据响应头部字符编码进行解码r.encoding 服务器内容使用的文本编码r.status_code 检测响应的状态码r.content 字节方式的响应体r.json() Requests中内置的JSON解码器原创 2021-12-16 19:17:39 · 905 阅读 · 0 评论 -
爬虫 必备小技巧
自定义函数import requestsfrom bs4 import BeautifulSoupheaders={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0'}def baidu(company): url = 'https://www.baidu.com/s?rtt=4&tn=news&word=' + company pr原创 2021-10-21 13:13:27 · 269 阅读 · 0 评论 -
BeautifulSoup库快速上手【实战】爬专栏标题+地址
BeautifulSoup库快速上手安装pip install beautifulsoup4# 上面的安装失败使用下面的 使用镜像pip install beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple使用PyCharm的命令行解析标签from bs4 import BeautifulSoupimport requestsurl='https://blog.csdn.net/weixin_42403632/catego原创 2021-10-19 18:44:54 · 330 阅读 · 0 评论 -
正则表达式入门-解决换行的情况
正则表达式入门-解决换行的情况修饰符re.S作用是让findall()函数在查找时可以自动考虑换行的影响,使得非贪婪匹配可以匹配换行。语法格式:re.findall(规则,文本,re.S)例子:import retext='''123asdfg456'''r='123(.*?)456'a=re.findall(r,text,re.S)print(a)a=re.sub('\n','',a[0])print(a)b=re.findall(r,text)print(b)sub原创 2021-10-19 12:25:33 · 2846 阅读 · 0 评论 -
正则表达式入门-非贪婪匹配
非贪婪匹配 (.*?)import rea = '456qwe789rty123abc're=re.findall('456(.*?)789',a)print(re)通常情况,满足匹配规则“456(.*?)789”的内容通常不止一个,那么findall()函数会从字符串的起始位置开始寻找文本A,找到后开始寻找文本B,当找到第一个文本B后,暂时停止寻找,将文本A和文本B之间的内容存入列表;然后继续寻找文本A,并重复之前的步骤,直到到达字符串的结束位置,并将所有匹配到的内容存入列表。import原创 2021-10-18 15:39:17 · 1280 阅读 · 0 评论 -
正则表达式入门-findall()函数
正则表达式入门-findall()函数findall()函数例子import rea = '123abc're=re.findall('\d\d\d',a)print(re)导入用于完成正则表达式操作的re库使用re库中的findall()函数提取文本'\d'表示匹配1个数字,那么'\d\d\d'就表示匹配连续的3个数字语法为re.findall(匹配规则,原始文档)注意:findall()函数返回的是一个包含提取结果的列表import rea = '456qwe789rt原创 2021-10-18 12:28:43 · 16815 阅读 · 0 评论