gpt4 book ai didi

python - 网络爬虫 - 以下链接

转载 作者:太空狗 更新时间:2023-10-30 00:31:34 24 4
gpt4 key购买 nike

请多多包涵。我在 Python 方面还很陌生——但玩得很开心。我正在尝试编写一个网络爬虫程序,用于爬取丹麦上次公投的选举结果。我设法从主页上提取了所有相关链接。现在我希望 Python 跟踪 92 个链接中的每一个,并从每个页面收集 9 条信息。但是我被困住了。希望你能给我一个提示。

这是我的代码:

import requests
import urllib2
from bs4 import BeautifulSoup

# This is the original url http://www.kmdvalg.dk/

soup = BeautifulSoup(urllib2.urlopen('http://www.kmdvalg.dk/').read())

my_list = []
all_links = soup.find_all("a")

for link in all_links:
link2 = link["href"]
my_list.append(link2)

for i in my_list[1:93]:
print i

# The output shows all the links that I would like to follow and gather information from. How do I do that?

最佳答案

这是我使用 lxml 的解决方案。它类似于 BeautifulSoup

import lxml
from lxml import html
import requests

page = requests.get('http://www.kmdvalg.dk/main')
tree = html.fromstring(page.content)
my_list = tree.xpath('//div[@class="LetterGroup"]//a/@href') # grab all link
print 'Length of all links = ', len(my_list)

my_list 是一个包含所有链接的列表。现在您可以使用 for 循环来抓取每个页面内的信息。

我们可以循环遍历每个链接。在每个页面中,您可以提取信息作为示例。这仅适用于顶层表格。

table_information = []
for t in my_list:
page_detail = requests.get(t)
tree = html.fromstring(page_detail.content)
table_key = tree.xpath('//td[@class="statusHeader"]/text()')
table_value = tree.xpath('//td[@class="statusText"]/text()') + tree.xpath('//td[@class="statusText"]/a/text()')
table_information.append(zip([t]*len(table_key), table_key, table_value))

对于页面下方的表格,

table_information_below = []
for t in my_list:
page_detail = requests.get(t)
tree = html.fromstring(page_detail.content)
l1 = tree.xpath('//tr[@class="tableRowPrimary"]/td[@class="StemmerNu"]/text()')
l2 = tree.xpath('//tr[@class="tableRowSecondary"]/td[@class="StemmerNu"]/text()')
table_information_below.append([t]+l1+l2)

希望对您有所帮助!

关于python - 网络爬虫 - 以下链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35419353/

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