立即登录

注册账号

联系我们

2022年3月7日 10:54

1. 爬虫入门

  1. 安装requests

  2. 官方中文文档

    https://docs.python-requests.org/zh_CN/latest/

    安装:

    pip install requests

  1. 导入包

    import requests

  1. 请求url

url = "http://www.shixiaolei.com/posts/1/"

r = requests.get(url)

  1. 打印请求的结果

    r 状态码

    200 成功

    301 重定向

    404 请求的页面未找到

    500 服务器错误

    r.text HTML只有文本和资源地址

    提取文本(正则表达式)

    资源(图片)进一步请求

 

# 导入包
import requests
# 模拟请求
url = "http://www.shixiaolei.com/posts/1/"
r = requests.get(url)
r.text

6. 从文本字符串中提取数据

# 提取数据 1. 正则表达式(最简单暴力),几乎所有的问题,不是最佳,局限性太强
import re
c = re.compile('<title>(.*?)</title>')
title  = re.findall(c,r.text)
title[0]

技巧: 把开头和结尾固定,把想要提取的内容用(.*?)代替。

用re.findall()方法来查找左右符合特征的所有文本。注意:返回结果是一个列表,即使只找到一个。

7. 提高内容,更复杂的情况

c = re.compile('<div class="title"><a href=".*?">(.*?)</a></div>')
title  = re.findall(c,r.text)
title

技巧:固定部分要准确,不能多,更不能范围太宽泛。变化不同的部分用.*?代替。想要的结果用(.*?代替)

留言

给我留言