南朴 发表于 2021-3-14 21:09:22

BS4提取src全部链接总是Tag报错,新手求大神解决

import requests
frombs4 import BeautifulSoup

url = "https://www.itotii.net/584.html"
headres = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0'}

res=requests.get(url,headers=headres)
res.encoding = 'utf-8'
print(res.status_code)

soup = BeautifulSoup(res.text,'html.parser')
item = soup.find_all(class_="article-content")
print(item)

for src in item:
    herf = item.find_all(data-tag="bdshare")
    print(herf['src'])

笨鸟学飞 发表于 2021-3-15 11:56:19

报错不是正常的么
for src in item:      
    herf = item.find_all(data-tag="bdshare")# find_all()方法返回的是列表
    print(herf['src'])          # 所以这句就报错了咯?
改为下面代码试试看:
herf = item.find_all(data-tag="bdshare")
for each in herf:
    print(each['src'])

没装BeautifulSoup模块没法测试,你试试吧,应该没问题的,现在改用xpath了,大多数时候还是比较方便的

YunGuo 发表于 2021-3-15 18:33:20

网页源代码img标签不存在属性data-tag。
import requests
frombs4 import BeautifulSoup

url = "https://www.itotii.net/584.html"
headres = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0'}
res = requests.get(url, headers=headres)
soup = BeautifulSoup(res.text,'html.parser')
item = soup.find_all(class_="article-content")
imgs = item.find_all("img")
for img in imgs:
    herf = img["src"]
    print(herf)

南朴 发表于 2021-3-15 20:02:07

YunGuo 发表于 2021-3-15 18:33
网页源代码img标签不存在属性data-tag。

你好item = soup.find_all(class_="article-content")为什么这个地方加0下面就可以运行 不加就运行不了呢?

YunGuo 发表于 2021-3-15 23:54:33

南朴 发表于 2021-3-15 20:02
你好    为什么这个地方加0下面就可以运行 不加就运行不了呢?

find_all()返回的是一个列表啊,加0是为了索引,把列表中的数据取出来。

南朴 发表于 2021-3-16 18:59:05

YunGuo 发表于 2021-3-15 23:54
find_all()返回的是一个列表啊,加0是为了索引,把列表中的数据取出来。

嗯嗯 谢谢谢谢
页: [1]
查看完整版本: BS4提取src全部链接总是Tag报错,新手求大神解决