gpt4 book ai didi

Python 网页抓取解决方案

转载 作者:行者123 更新时间:2023-11-30 22:50:01 24 4
gpt4 key购买 nike

所以,我是 python 新手,正在尝试开发一个练习,在该练习中我从此 url 上的列表中抓取页码,该列表是各种已发表论文的列表。

当我进入要抓取的页面的 HTML 元素时,我检查该元素并找到匹配的 HTML 代码:

<div class="src">
Foreign Affairs, Vol. 79, No. 4 (Jul. - Aug., 2000), pp. 53-63
</div>

我想要制作类括号之间内容的部分。这是我为了完成这项工作而尝试写的内容。

import requests
from bs4 import BeautifulSoup

url = "http://www.jstor.org/action/doAdvancedSearch?c4=AND&c5=AND&q2=&pt=&q1=nuclear&f3=all&f1=all&c3=AND&c6=AND&q6=&f4=all&q4=&f0=all&c2=AND&q3=&acc=off&c1=AND&isbn=&q0=china+&f6=all&la=&f2=all&ed=2001&q5=&f5=all&group=none&sd=2000"
r = requests.get(url)
soup = BeautifulSoup(r.content)
links = soup.find_all("div class='src'")
for link in links:
print

我知道这段代码尚未完成,那是因为我不知道从这里去哪里:/。有人可以帮我吗?

最佳答案

Tales Pádua 的替代方案 answer是这样的:

from bs4 import BeautifulSoup

html = """<div class="src">
Foreign Affairs, Vol. 79, No. 4 (Jul. - Aug., 2000), pp. 53-63
</div>
<div class="src">
Other Book, Vol. 1, No. 1 (Jul. - Aug., 2000), pp. 1-23
</div>"""
soup = BeautifulSoup(html)
links = soup.find_all("div", class_ = "src")
for link in links:
print link.text.strip()

输出:

Foreign Affairs, Vol. 79, No. 4 (Jul. - Aug., 2000), pp. 53-63
Other Book, Vol. 1, No. 1 (Jul. - Aug., 2000), pp. 1-23

此答案使用 class_ 参数,即 recommended在文档中。

<小时/>

如果您想要获取页码,并且所有内容都遵循上面的格式(逗号分隔),您可以更改 for 循环以获取字符串的最后一个元素:

print link.text.split(",")[-1].strip()

输出:

pp. 53-63
pp. 1-23

关于Python 网页抓取解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39539646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com