第一次爬虫成功了



@txq0211 根据这位大佬的帖子→https://www.52pojie.cn/thread-1615729-1-1.html 成功让我一个新手爬虫成功,虽然只是简单的爬虫,但是给我带来了成功的快感{:301_997:} ,让我更加积极的去学习Python。(我刚把Python基础学完,不经意间刷到了这篇帖子,所以就勾起我的兴趣)

[Python] 纯文本查看 复制代码# coding:utf-8 import re import requests # 爬虫试验 url = 'http://bbs.tianya.cn/post-no04-2817267-1.shtml' resp = requests.get(url).text # 这里用的正则表达式的非贪婪匹配 话说非贪婪我没搞懂啥意思 maplists = re.findall('original="(.+?)"', resp) def start(): i = 0 for pic_url in maplists: pic = requests.get(pic_url) i += 1 path = '%d.jpg' % i with open('C:/Users/Administrator/Desktop/' + path, 'wb') as f: f.write(pic.content) print('已经完成输出第%d张图片' % i) if __name__ == '__main__': start()


这里有个问题就是有些网站图片检索出来的格式是<img src='https://www.52pojie.cn/地址'>这种又怎么爬取呢? 如果直接匹配src,匹配出来是一个空列表,求解?

如果有违规,请版主删帖,谢谢。
最新回复 (46)
  • src没有数据,是因为图片是懒加载的。打开网页后打开DevTools,在DevTools中多往后翻,但不要滚动网页本身的滚动条,然后在DevTools中找到网页中当前视区后面的图片的img标签,你会发现它的src不是你想要的,真正的图片链接在其他属性中,不同的网站用的属性名不同,需要具体分析。然后再滚动网页,你会发现src又变成你需要的链接了,因为图片被滚动到你的视区了,这样子对于网站来说,减轻压力,用户浏览多少就加载多少,用户体验好;若是一下全加载完所有图片,服务器压力大,用户体验也差,用户会觉得要等几秒才能看到内容。
  • .+?   这个问号就是非贪婪,意思就是尽量少匹配点,如果去掉问号就是贪婪,那就匹配不到url了
  • lhlking3月前
    引用4
    就像通配符的意思是吧,*号?号,现在搞成贪婪这种新名词了
  • 楼主双眼皮的微笑3月前
    引用5
    平淡最真 发表于 2022-4-25 16:31
    .+?   这个问号就是非贪婪,意思就是尽量少匹配点,如果去掉问号就是贪婪,那就匹配不到url了

    奥 谢谢。
  • 淼先森3月前
    引用6
    不错不错,我也要学起来
  • yn93月前
    引用7
    xpath爬取方便点
  • mq01923月前
    引用8
    加油,我是三天打鱼两天晒网,到头来一事无成。向你学习。
  • hs2486133月前
    引用9
    可喜可贺!可喜可贺!
  • majunxdwm3月前
    引用10
    想向你学习,我也是三天打鱼二天晒网,支持你。
  • hackerbob3月前
    引用11
    哈哈,加油
  • chaojiak473月前
    引用12
    你需要精易编程助手,抓包 正则 json解析,编码转换应有尽有
  • rxxcy3月前
    引用13
    这头像.....
  • Soc3月前
    引用14
    加油(&#3591; &#8226;_&#8226;)&#3591;
  • wangwh3月前
    引用15
    爬虫是个什么东西?我是个小小白
  • bingbingbd3月前
    引用16
    牛逼呀,看来要去实践一下。好好去学一下
  • 楼主双眼皮的微笑3月前
    引用17
    chaojiak47 发表于 2022-4-25 17:16
    你需要精易编程助手,抓包 正则 json解析,编码转换应有尽有

    我去搜搜看。
  • 引用18
    哈哈哈哈哈哈哈
  • wan4563月前
    引用19
    爬jpg,筛选jpg,整理显示jpg
  • Fxhlt3月前
    引用20
    恭喜 恭喜  期待自己的第一次
  • Asra3月前
    引用21
    <img下的src标签正则匹配的时候带上<img标签,[Python] 纯文本查看 复制代码<img src="(.*?)",这样的正则可以匹配到
  • dm5303月前
    引用22
    哈哈哈 恭喜加油^0^~
  • 楼主双眼皮的微笑3月前
    引用23
    Asra 发表于 2022-4-25 19:20

    我试试看,谢谢
  • singer13月前
    引用24
    恭喜恭喜,希望楼主再接再厉
  • i20803月前
    引用25
    恭喜成功,加油
  • src没有数据,是因为图片是懒加载的。打开网页后打开DevTools,在DevTools中多往后翻,但不要滚动网页本身的滚动条,然后在DevTools中找到网页中当前视区后面的图片的img标签,你会发现它的src不是你想要的,真正的图片链接在其他属性中,不同的网站用的属性名不同,需要具体分析。然后再滚动网页,你会发现src又变成你需要的链接了,因为图片被滚动到你的视区了,这样子对于网站来说,减轻压力,用户浏览多少就加载多少,用户体验好;若是一下全加载完所有图片,服务器压力大,用户体验也差,用户会觉得要等几秒才能看到内容。
  • 戮之使3月前
    引用27
    这个可以看一下
  • 引用28
    我也成功过,但后来发现。没啥用,简单的不想爬。难得爬不了
  • cccuuuiii3月前
    引用29
    我是一句也看不懂,向你学习。
  • 关于(非)贪婪匹配,举个例子
    我们的文本: ["Hermione Granger", "Harry Potter", "Lord Voldemort"] 正则表达式: ".+"
    在贪婪模式下,它会匹配到 "Hermione Granger", "Harry Potter", "Lord Voldemort"
    非贪婪就是 "Hermione Granger", "Harry Potter", "Lord Voldemort"
  • shubiao3月前
    引用31
    真厉害,加油
  • sd00763月前
    引用32
    非常棒,学习
  • huzp3月前
    引用33
    不错,我也想学一下,这个确实很强大
  • CCQc3月前
    引用34
    牛逼!希望你尽快成为大佬。
  • m0nesy3月前
    引用35
    我也是三天打鱼两天晒网,学了点皮毛就学不下去了
  • aliya04163月前
    引用36
    你太厉害了
  • ilpj3月前
    引用37
    三天打鱼两天晒网+1,楼主加油。
  • chensu6863月前
    引用38
    谢谢楼主分享!
  • jicken3月前
    引用39
    我也想学习,种种原因,现在也没怎么学。
  • 7435672743月前
    引用40
    举个例子
    源文本:12323

    如果是1(.*)3 贪婪匹配,尽可能多的匹配匹配出来就是12323

    如果是1(.*?)3 非贪婪匹配 尽可能少的匹配结果就是123
  • 楼主双眼皮的微笑3月前
    引用41
    743567274 发表于 2022-4-26 08:05
    举个例子
    源文本:12323

    谢谢大佬。
  • RemMai3月前
    引用42
    https://blog.csdn.net/qq_44695727/article/details/107461597

    使用 xpath 函数,会简单很多。

    然后 浏览器->开发者工具->找到html代码标签->右键->复制-> JSPath地址。

    python爬虫极其简单
  • daymissed3月前
    引用43
    感谢分享,刚接触python,学习
  • 少用正则, 正则虽然很通用, 但是还是用xpath或者beautifulSoup好整一点
  • nccdap3月前
    引用45
    加油,支持
  • domgoing3月前
    引用46
    恭喜,向楼主学习。。
  • WaterO3月前
    引用47
    挺有意思
  • 游客
    48
返回