gpt4 book ai didi

python - 为什么 Python Beautiful Soup 从抓取的 URL 中剥离参数

转载 作者:行者123 更新时间:2023-12-01 01:49:55 25 4
gpt4 key购买 nike

我正在尝试使用 Python BeautifulSoup 抓取这个网站。我下面的代码首先从页面中获取所有链接。在获取链接时,它会从原始链接中剥离“&”符号和参数。我想知道为什么?有人知道吗?我这里有代码和输出。

from bs4 import BeautifulSoup as bs
import requests

url = requests.get ("http://mnregaweb4.nic.in/netnrega/demand_emp_demand.aspx?lflag=eng&file1=dmd&fin=2017-2018&fin_year=2017-2018&source=national&Digest=x44uSVqhiyzomN66Te0ELQ")
soup = bs(url.text, 'xml')
state= soup.find(id = "t1")
state_links = []
for link in soup.find_all('a', href= True):

state_links.append(link['href'])
state_links = [e for e in state_links if e not in ("javascript:history.go(-1);", "http://164.100.129.6/netnrega/MISreport4.aspx?fin_year=2013-2014rpt=RP&source=national", "javascript:__doPostBack('ctl00$ContentPlaceHolder1$LinkButton1','')")]

for dis_link in state_links:
# print (dis_link)
link_new = "http://mnregaweb4.nic.in/netnrega/"+dis_link
print (link_new)

输出:

实际链接: http://mnregaweb4.nic.in/netnrega/demand_emp_demand.aspx?file1=dmd &page1=s&lflag=eng&state_name=ANDHRA+PRADESH&state_code=02&fin_year =2017-2018&source=national&Digest=4jL5hchs+iT7xqB6T/UXzw

(抓取的链接中缺少代码中突出显示的内容)

已抓取链接: http://mnregaweb4.nic.in/netnrega/demand_emp_demand.aspx?file1=dmd=s=eng=ANDHRA+PRADESH=02=2017-2018=national=4jL5hchs+iT7xqB6T/UXzw

最佳答案

这可能是因为您尝试使用“xml”解析它,而不是尝试使用“html.parser”解析它,

我使用下面的代码得到以下结果:

from bs4 import BeautifulSoup as bs
import requests

url = requests.get ("http://mnregaweb4.nic.in/ne....")
soup = bs(url.text, 'html.parser')
state_links = []
for link in soup.find_all('a', href=True):
state_links.append(link['href'])

print(state_links)
# 'demand_emp_demand.aspx?file1=dmd&page1=s&lflag=eng&state_name=ANDHRA+PRADESH&state_code=02&fin_year=2017-2018&source=national&Digest=4jL5hchs+iT7xqB6T/UXzw'

关于python - 为什么 Python Beautiful Soup 从抓取的 URL 中剥离参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50829622/

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