hello? 发表于 2022-8-7 23:46:38

【小白bs4爬虫小问题】

兄弟萌,大佬萌
我想把<div class="simg">名字为a的所有标签提取出来并且得到href的值这一步该怎么弄
除了<div class="simg">标签下,其他标签也有名字为a的子标签,我只想要<div class="simg">的{:10_256:}
用soup这个名字,例如(soup.fand_all())
用bs4。xpath和正则表达式我还没学,感谢大佬萌{:10_256:}

liuzhengyuan 发表于 2022-8-8 04:44:08

得到 href 值就直接 a["href"]

hello? 发表于 2022-8-8 09:52:19

liuzhengyuan 发表于 2022-8-8 04:44
得到 href 值就直接 a["href"]

这我知道,不过我不清楚是如何把标签a提取出来的,我用的是soup.find_all("div",id_="image"),但是得到的列表是<div id="image">和下面所有名字为a的标签的总和,也就是他们所有组成了一个元素,我就不知道怎么分别把a提取出来{:10_277:}

hello? 发表于 2022-8-8 09:53:04

我问题里有没有什么没说清楚的{:10_243:}

liuzhengyuan 发表于 2022-8-8 10:30:55

hello? 发表于 2022-8-8 09:52
这我知道,不过我不清楚是如何把标签a提取出来的,我用的是soup.find_all("div",id_="image"),但是得到的 ...

你这个问题的话,应该是一个 for 循环把每个 a 元素提取出来然后单独处理(如果没理解错的话),可以参考我之前的代码:
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=216306&pid=5922822

suchocolate 发表于 2022-8-8 10:48:30

方便发一下网址吗,我们好帮你分析码源。{:10_256:}

hello? 发表于 2022-8-8 11:11:15

本帖最后由 hello? 于 2022-8-8 11:17 编辑

suchocolate 发表于 2022-8-8 10:48
方便发一下网址吗,我们好帮你分析码源。

当然可以{:10_256:}不过你方便嘛,被旁边的人康见了怎么办{:10_256:}

hello? 发表于 2022-8-8 11:12:50

suchocolate 发表于 2022-8-8 10:48
方便发一下网址吗,我们好帮你分析码源。

https://www.xiurenwang.cc/
希望版主不会封我{:10_256:}

hello? 发表于 2022-8-8 11:16:44

liuzhengyuan 发表于 2022-8-8 10:30
你这个问题的话,应该是一个 for 循环把每个 a 元素提取出来然后单独处理(如果没理解错的话),可以参考 ...

d_list=soup=find_all("div",id_="image")
图片上面的结果是直接print(d_list)
下面是print(d_list)
结果一样的,就不清楚a怎么提出来,直接find_all('a')的话又会把其他不需要的提取来{:10_266:}

hello? 发表于 2022-8-8 11:18:35

liuzhengyuan 发表于 2022-8-8 10:30
你这个问题的话,应该是一个 for 循环把每个 a 元素提取出来然后单独处理(如果没理解错的话),可以参考 ...

也就是for循环不了,所有我想要的元素都合成一个了

hello? 发表于 2022-8-8 11:20:26

suchocolate 发表于 2022-8-8 10:48
方便发一下网址吗,我们好帮你分析码源。

看来你有前科啊{:10_279:}

liuzhengyuan 发表于 2022-8-8 11:23:11

hello? 发表于 2022-8-8 11:16
d_list=soup=find_all("div",id_="image")
图片上面的结果是直接print(d_list)
下面是print(d_list) ...

你这网址发的,我室友就在我后面,也不方便帮你看{:10_245:}
哪有提到的图片
而且没有 id 叫 image 的 标签啊?{:10_277:}
如果你是静态爬虫,请使用查看网页源代码,不是检查

liuzhengyuan 发表于 2022-8-8 11:25:01

hello? 发表于 2022-8-8 11:18
也就是for循环不了,所有我想要的元素都合成一个了

?我的回复被吞了?
能分享一下代码吗(我有事先走了)

hello? 发表于 2022-8-8 11:28:51

liuzhengyuan 发表于 2022-8-8 11:25
?我的回复被吞了?
能分享一下代码吗(我有事先走了)

import requests
import urllib.request as u
import random
from bs4 import BeautifulSoup as Be

#代理ip,opener
#选择ip
ip=['101.200.127.149:3129','58.20.184.187:9091',\
    '58.20.184.187:9091','183.247.211.156:30001']
ip_=random.choice(ip)
#创建opener
proxy=u.ProxyHandler({'http':ip_})
opener=u.build_opener(proxy)
u.install_opener(opener)
#header
cookie="Hm_lvt_1060da23a20238049f3e377d46f7e478=1659877599,1659878742,1659879750,1659881285; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_5e2cce81a5cb57f53e7a18f30edb5d19=SabcdA%7C1660054371%7CW042ESC1NoLSJOkN2CBKjKsio1Zi6BWwOcgB7sbl3MK%7C489c6ce7516488747e9f2dce79213d662af2df\
36d1dda1548fb9589d02b4b893; Hm_lpvt_1060da23a20238049f3e377d46f7e478=1659881684"
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77"
         ,"cookie":cookie}
#获取源码
url='https://www.xiurenwang.cc/10599.html'
response=requests.get(url,headers=headers)
content=response.content.decode('utf-8')
soup=Be(content,'lxml')
d_list=soup.find_all("div",id="image")

hello? 发表于 2022-8-8 11:29:24

liuzhengyuan 发表于 2022-8-8 11:25
?我的回复被吞了?
能分享一下代码吗(我有事先走了)

只用看获取源码部分就可以

hello? 发表于 2022-8-8 16:37:17

兄弟萌,我知道了,要用.children{:10_284:}获取子标签

liuzhengyuan 发表于 2022-8-9 12:11:23

hello? 发表于 2022-8-8 16:37
兄弟萌,我知道了,要用.children获取子标签

强!

hello? 发表于 2022-8-9 21:53:37

liuzhengyuan 发表于 2022-8-9 12:11
强!

网上搜半天{:10_266:}
页: [1]
查看完整版本: 【小白bs4爬虫小问题】