python如何爬虫获取图形上点的坐标_求助:python爬取图片,怎么取出标签里的src内容?...

本文讲述了如何使用Python的requests、BeautifulSoup和parsel库来解析网页并获取图片URL。通过示例代码展示了如何从指定网页中找到包含所有图片URL的JSON对象,并利用json模块解析获取图片的大图链接。
摘要由CSDN通过智能技术生成

from bs4 import BeautifulSoup

import requests

import os

import lxml

import parsel

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'

}

url = 'https://www.archdaily.com/946565/higashi-sanchome-toilet-nao-tamura/5f4790beb35765c1ca0000ea-higashi-sanchome-toilet-nao-tamura-photo'

result = requests.get(url, headers= headers)

parse = parsel.Selector(result.text)

targetCode = parse.xpath('/html/body/div[1]/div[1]/div[1]/div/div/div[1]/figure/img')

print(targetCode)

返回的结果

[]

我需要的内容是img标签里的src或是data-largesrc图片地址(两者内容好像一样),试过print(targetCode.extract_first().encode(‘utf-8’))

但是返回img内容只有一半

b''

前面有个b不知道是什么东西,然后也不是我要的,用.extract()也不行,折腾好久了,麻烦帮忙解答下,谢谢

1598963467_61628.png

回答

源码中有包含所有图片url的json对象

1599063207_992984.jpg

因此可以使用BeautifulSoup找到该对象,然后利用json模块读取对象中的所有url,爬取的结果展示如下

1599063295_94989.jpg

源码如下

from bs4 import BeautifulSoup

import requests

import os

import lxml

import json

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'

}

url = 'https://www.archdaily.com/946565/higashi-sanchome-toilet-nao-tamura/5f4790beb35765c1ca0000ea-higashi-sanchome-toilet-nao-tamura-photo'

result = requests.get(url, headers= headers)

soup = BeautifulSoup(result.content,'lxml')

json_data = soup.find('div',attrs={'id':'gallery-items'})

figures = json.loads(json_data.get('data-images'))

for figure in figures:

print(figure['url_large'])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值