weixin_50589433
Unjx.
采纳率57.1%
2021-03-31 12:43 阅读 34

Python爬虫爬图片

import requests
import re
url='http://www.netbian.com/s/chuyinweilai/'
head={
	'user_agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
page_data=requests.get(url,headers=head).text
pattern = re.compile(r'<a href="/desk.+?<img src="(.+?)"', flags=re.S)
img_list = pattern.findall(page_data)
img_list
str=r''
print(pattern.search(str))

当我用sublime text 3运行这段代码的时候,运行没有问题,也没有报错信息,但下面显示的却是“None”,也就是没有,这就很奇怪了,我手动打开那个网站的时候明明就有图片,为什么会说none呢?难道正则表达式错了吗?应该不会吧,正则错了应该会有报错的

麻烦大佬了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    technologist_09 CSDN专家-HGJ 2021-03-31 13:57

    正则式没有问题,你没有用print(img_list)打印输出,后面的代码是对空值匹配,没有写对,1.加print,删去最后两行,2.把最后四行改成这样,两种改法都能输出正确结果:

    pattern = re.compile(r'<a href="/desk.+?<img src="(.+?)"', flags=re.S)
    img_list = re.findall(pattern,page_data)
    print(img_list)
    点赞 评论 复制链接分享
  • qq_39905438 print("天涯") 2021-03-31 13:20
    import requests
    from lxml import etree
    
    url='http://www.netbian.com/s/chuyinweilai/'
    head={
    	'user_agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
    }
    page_data=requests.get(url,headers=head).text
    
    html = etree.HTML(page_data)
    img_list=html.xpath('//div[@class="list"]/ul/li/a/img/@src')
    
    print(img_list)
    

    用正则写爬虫是在难为人   用这个代码吧 

    点赞 评论 复制链接分享

相关推荐