鱼C论坛

 找回密码
 立即注册
查看: 948|回复: 11

[已解决]正则表达式问题。

[复制链接]
发表于 2018-12-10 13:52:13 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 翩跹叶惊鸿 于 2018-12-10 14:10 编辑

a='https://weibo.com/1498726925/H6ypxEBcn" target="_blank">女生找工作都偏爱这座城</a></li><li><a href="http://city.sina.com.cn/focus/t/2018-12-10/detail-ihprknvu0461657.shtml'

我需要   http://city.sina.com.cn/focus/t/2018-12-10/detail-ihprknvu0461657.shtml




爬虫之后用正则表达式  
  1. links = Selector(text=html).re(r'https://.*?shtml')
复制代码


出现了这种问题!
捕获.PNG


就是 比方说 https:// …… https:// …… shtml  怎么才能匹配到第二个 https:// 呢?


https:// …… https:// …… shtml
我需要的红色加粗的,结果他给我全部配出来了!明明前面那个网址不是shtml结尾的!




最佳答案
2018-12-10 15:00:11
20181210145726071.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-10 14:19:49 | 显示全部楼层
本帖最后由 凌九霄 于 2018-12-10 14:23 编辑

贴页面源码,不要截图。或者给那个页面的网址
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-10 14:23:07 | 显示全部楼层
连同前面<a href="一起正则
r'<ahref="(https://.*?shtml)'
把你要的部分加个括号,就会只输出括号里的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-10 14:27:55 | 显示全部楼层
凌九霄 发表于 2018-12-10 14:19
贴页面源码,不要截图。或者给那个页面的网址

就新浪新闻首页 https://news.sina.com.cn/
我要里面全部的网址    https://开头   shtml结尾的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-10 14:29:30 | 显示全部楼层


好像不行,因为前面那个也有href   和我之前的结果一模一样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-10 14:31:40 | 显示全部楼层
翩跹叶惊鸿 发表于 2018-12-10 14:29
好像不行,因为前面那个也有href   和我之前的结果一模一样

马上去学下bs4模块呗,能直接找到
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-10 14:34:11 | 显示全部楼层
xy123151 发表于 2018-12-10 14:31
马上去学下bs4模块呗,能直接找到

bs4是啥啊,我只会 xpath 和 正则 诶0.0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-10 14:36:59 | 显示全部楼层
翩跹叶惊鸿 发表于 2018-12-10 14:34
bs4是啥啊,我只会 xpath 和 正则 诶0.0

Beautifulsoup4模块,能分解网页的构成
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-10 14:49:33 | 显示全部楼层
翩跹叶惊鸿 发表于 2018-12-10 14:34
bs4是啥啊,我只会 xpath 和 正则 诶0.0

把你的源代码贴出来下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-10 14:58:49 | 显示全部楼层
xy123151 发表于 2018-12-10 14:49
把你的源代码贴出来下
  1. from urllib.request import Request,urlopen
  2. from scrapy import Selector

  3. HEADERS = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'}

  4. URL = 'https://news.sina.com.cn/'

  5. req = Request(URL, headers=HEADERS)
  6. html = urlopen(req).read().decode("utf-8")

  7. links = Selector(text=html).re(r'https?://.*?shtml')
  8. links = sorted(set(links))

  9. for i in links:
  10.     print(i)
  11. print(len(links))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-10 15:00:11 | 显示全部楼层    本楼为最佳答案   
20181210145726071.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-10 15:22:46 | 显示全部楼层

大大 真给力,虽然看不懂,不过亲测可行诶。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-30 05:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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