Spider学习日记一:HTML文本解析

本文是Spider学习的第一篇,介绍了如何使用Python进行网络爬虫,内容包括:爬取豆瓣Top250书籍,理解requests的状态码418及解决方法,正则表达式的应用,XPath在HTML解析中的作用,以及BeautifulSoup库的基本用法。
摘要由CSDN通过智能技术生成

第一个网络爬虫:爬取豆瓣top250

一、requests介绍

import requests
import re

url = 'https://movie.douban.com/top250'
res =requests.get(url)
print(res.text)

问题1.<Response [418]>报错
在这里插入图片描述

响应状态:418
正常返回状态应该是 200

问题解决参考链接:

1.requests状态码集合 https://www.cnblogs.com/yitiaodahe/p/9216387.html
418:(‘im_a_teapot’, ‘teapot’, ‘i_am_a_teapot’)
2. 返回418是什么意思?
https://blog.csdn.net/weixin_43902320/article/details/104342771.
就是你爬取的网站有反爬虫机制,我们要向服务器发出爬虫请求,需要添加请求头:headers
3. 如何添加headers?
网页右键“检查元素”(在Google Chrome中),在图示页面找headers内容:
在这里插入图片描述
——Network
—— Doc(如果没有出现这一排,可先按F5刷新一下)
——Name下是你搜索的页面的html 点击一下(或按F5再刷新)
—— 找到Headers下面的 User-Agent,复制图示框内所有~
【复制的内容写成字典形式,冒号前的User-Agent作为字典元素的键,冒号后整体以字符串形式(注意加引号)作为键值】
以下问题解决:

import requests
import re

url = 'https://movie.douban.com/top250'
headers ={
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 OPR/66.0.3515.115'}
res =requests.get(url,headers = headers)
print(res.text)

二、正则表达式
使用正则表达式提取指定字符:

问题2:Unresolved reference ‘title’

name = re.findall(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值