浏览器网页显示的代码和爬虫爬取的图片地址不同是什么原因

在练习python爬取网页图片时,遇到了浏览器网页显示的代码和爬虫爬取的网页表示图片地址的代码不同的问题,网页显示的图片地址可以正常浏览图片,但是爬虫获取的图片地址却是无实际内容图片

#以下是浏览器显示网页代码 (划红线处为目标图片地址)

img


#以下是爬虫获取的网页代码 (划红线处为目标图片地址)

img


#以下为爬虫代码

  url_page = "https://bj.58.com/ershoufang"
    header =  {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/9    2.0.4515.131 Safari/537.36'}
    param = {
        "PGTID":"0d100000-0000-19bd-1e7f-96527dd81c6b",
        "ClickID":"2"
    }
    page_text = requests.get(url=url_page,params=param,headers=header).text
    tree = etree.HTML(page_text)
    name_list = tree.xpath("//div//h3/@title")
    img_list = tree.xpath("//div[@class='property-image']/img/@src")
    print(img_list)

#问题详述
可以看到网页源码图片地址显示为
<img alt="" src="https://pic1.ajkimg.com/display/58ajk/eb7962d9a8bb28c4a7655e27fdc5264e/640x420c.jpg?t=1%22
在爬虫爬取的地址显示为
<img alt="" src="https://pages.anjukestatic.com/usersite/touch/img/comm/nopic_list2.png"
点击地址显示的图片也是无效图片

请问问题可能出在哪里?谢谢

因为这个网页中图片是通过js代码动态更新的。
requests只能获取网页的静态源代码,静态源代码中只是默认的图片,动态更新的内容取不到。

对于动态更新的内容要用selenium 来爬取。

或者是通过F12控制台分析页面数据加载的链接,找到真正json数据的地址进行爬取。

在页面上点击右键,右键菜单中选 "查看网页源代码"。

img


这样看到的才是网页的静态源代码。
如果这个网页的静态源代码中有你需要爬取的内容,就说明该页面没有动态内容,可以用requests爬取。
否则就说明该页面的内容是动态更新的,要用selenium 来爬取.

直接找json数据就行