鱼C论坛

 找回密码
 立即注册
查看: 1405|回复: 21

[已解决]网页标签提取

[复制链接]
发表于 2020-5-19 11:54:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
rt
比如说:

  1. <p>hello</p>
  2. <p>test</p>
复制代码

提取p标签里面的内容
最佳答案
2020-5-19 12:09:07
xiaosi4081 发表于 2020-5-19 12:03
那能不能换成网页抓取
  1. request = Request(url,headers=headers)
  2. response = urlopen(request)
  3. html = response.read().decode()

  4. re.findall(r'<p>(.+?)</p>',html)
复制代码

像这样
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-19 11:54:39 | 显示全部楼层
本帖最后由 Twilight6 于 2020-5-19 12:02 编辑

正则:
  1. import re

  2. string = """

  3. <p>hello</p>
  4. <p>test</p>

  5. """

  6. title = re.findall(r'<p>(.+?)</p>',string)
  7. print(title)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 11:55:00 | 显示全部楼层
bs4:
.text
XPath:
//text()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 11:55:02 | 显示全部楼层
正则
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-19 11:56:10 | 显示全部楼层

你去看看Mike_Python小小,他有换头像了,换成你的了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 11:56:12 | 显示全部楼层

bs4,正则都可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 11:59:21 | 显示全部楼层
KevinHu 发表于 2020-5-19 11:56
你去看看Mike_Python小小,他有换头像了,换成你的了


我也刚发现,额。。。。。。(⊙﹏⊙)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 11:59:56 | 显示全部楼层

你看看~我编辑了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 12:00:51 | 显示全部楼层

TypeError: expected string or bytes-like object
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 12:02:38 | 显示全部楼层
xiaosi4081 发表于 2020-5-19 12:00
TypeError: expected string or bytes-like object
  1. from bs4 import BeautifulSoup

  2. string = """

  3. <p>hello</p>
  4. <p>test</p>

  5. """

  6. soup = BeautifulSoup(string,'lxml')
  7. print(soup.select('p')[0].text)
  8. print(soup.select('p')[1].text)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 12:02:48 | 显示全部楼层
  1. from re import findall

  2. string="<p>hello</p>\n<p>test</p>"

  3. (i[3:-4]for i in findall("<p>.*?</p>",string))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 12:03:23 | 显示全部楼层
xiaosi4081 发表于 2020-5-19 12:00
TypeError: expected string or bytes-like object

哈哈 我代码里面打错了一个字符 你重新复制运行下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 12:03:59 | 显示全部楼层

那能不能换成网页抓取
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 12:04:05 | 显示全部楼层
xiaosi4081 发表于 2020-5-19 12:00
TypeError: expected string or bytes-like object

正则的已经修改了 ,漂亮的汤用法在楼下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 12:05:55 | 显示全部楼层
xiaosi4081 发表于 2020-5-19 12:03
那能不能换成网页抓取

你把网页提取出来的数据参数放到这里即可:
  1. re.findall(r'<p>(.+?)</p>',这里~)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 12:09:07 | 显示全部楼层    本楼为最佳答案   
xiaosi4081 发表于 2020-5-19 12:03
那能不能换成网页抓取
  1. request = Request(url,headers=headers)
  2. response = urlopen(request)
  3. html = response.read().decode()

  4. re.findall(r'<p>(.+?)</p>',html)
复制代码

像这样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 12:18:12 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-5-19 12:09
像这样

header的参数是什么,我是直接用requests
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 12:39:32 | 显示全部楼层
本帖最后由 Twilight6 于 2020-5-19 12:51 编辑
xiaosi4081 发表于 2020-5-19 12:18
header的参数是什么,我是直接用requests


伪装成浏览器 header是浏览器向服务器发送的一个头信息,上面的代码就是发送了浏览器自己的型号。
headers 是浏览器请求头,模仿浏览器访问,后面小甲鱼会教到,你暂时可以删掉这个参数,没填这个的话就是默认是用python型号访问,别人网站一般下就识别出来是爬虫
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-19 13:04:20 | 显示全部楼层
Twilight6 发表于 2020-5-19 12:39
伪装成浏览器 header是浏览器向服务器发送的一个头信息,上面的代码就是发送了浏览器自己的型号。
hea ...


举个栗子吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-19 13:09:26 | 显示全部楼层

浏览器.png
打开浏览器审核元素,里面的 User-Agent 就是浏览器型号,我们发出请求时候都要带上 User-Agent 信息,发送给服务器,服务器接收信息

如果你用python访问 而且你还没设置 User-Agent 型号信息 ,默认就会把python的型号发给服务器,若网站有反爬机制,你请求了,他直接拒绝你的访问了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 18:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表