开胃小菜344 2021-09-30 21:52 采纳率: 50%
浏览 28
已结题

关于#网站#的问题,如何解决?

import requests
from bs4 import BeautifulSoup
from lxml import etree
import time

爬取网站图片

lj = "


url = "
resp0 = requests.get(url)
resp0.encoding = "utf-8"
#print(resp.text)
tp_list = []
img_list = BeautifulSoup(resp0.text, "html.parser")
#print(img_list)
imgs = img_list.find("ul", id="pins").find_all("a")
for img in imgs:
img_href = lj+img.get("href") # 拼接成网址
tp_list.append(img_href) # 将网址放在列表中
#print(img_href)
#print(tp_list)
for i in tp_list:
resp1 = requests.get(i) # 用循环依次去访问网站
resp1.encoding = "utf-8"
tree = etree.HTML(resp1.text)
divs = tree.xpath("/html/body/div[3]/div[1]/div[3]/p/a/img/@src")
print(divs)

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2021-09-30 22:18
    关注

    1.网址错误,应该分别是:
    lj = "https://www.chenbie.com"
    url = "


    2.解析器选择不正确,img_list = BeautifulSoup(resp0.text, "html.parser")改成
    img_list = BeautifulSoup(resp0.text, "lxml")
    完整代码:

    import requests
    from bs4 import BeautifulSoup
    
    
    url = "https://www.chenbie.com/mm/"
    resp0 = requests.get(url, headers={
                         'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38'})
    resp0.encoding = "utf-8"
    img_list = BeautifulSoup(resp0.text, "lxml")
    #print(img_list)
    imgs = [x['data-original'] for x in img_list.select('#pins  li a img')]
    print(imgs)
    
    ['https://pic.chenbie.com/d/file/titlepic/2021/03/24/11/65b53534a3.jpg', 'https://pic.chenbie.com/d/file/titlepic/2021/03/24/11/9f4a3cf03a_副本.jpg', ...]
    

    如有帮助,请点采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 学习Python如何找兼职
  • ¥15 python结合Matlab仿真忆阻器
  • ¥35 有人会注册whatsaop协议号吗?
  • ¥15 lead dbs 无法导入影像数据
  • ¥15 多目标MPA算法优化编程实现
  • ¥15 反激PWM控制芯片调研
  • ¥15 Python for loop减少运行时间
  • ¥15 fluent模拟物质浓度udf
  • ¥15 Collection contains no element matching the predicate
  • ¥20 冻品电商平台的搜索是怎么实现的