首页 > 解决方案 > 使用 Python 进行网页抓取:requests.get(param) 不会更新,尽管参数更新

问题描述

我有以下问题:我尝试使用以下代码抓取名称普查网站( https://namecensus.com/male_names.htm ):

for counter in range(0, len(links_male)):
 print("Sleeping for 2 Seconds")
 time.sleep(2)
 print(url)
 html_page=rq.get(url) 

 bs_instance_male=BeautifulSoup(html_page.text,"html.parser")
 print(bs_instance.h1)
 table_entries=bs_instance.select(".datatable > table >tr >td")

 for entry in table_entries: 
    male_firstname_data.append(entry)

 #Update Url 
 counter+=1
 if(counter<len(links_male)):
    url=links_male[counter]
    print(f"URL updating to: {url}")
 else:
    print("Done")

这给出了以下输出:输出图片

如您所见,尽管 URL-String 已正确更新,但它不会以某种方式更新变量 html_page?有人可以解释一下为什么会这样吗?谢谢!!

标签: pythongetpython-requestsscreen-scraping

解决方案


您正在分配bs_instance_male但正在打印bs_instance.h1,我认为有问题。此外,您提供的示例不是mcve。为了提高有用答案的机会,请确保读者可以复制您的代码并获得与您遇到的相同的问题。在大多数情况下,制作这样一个例子的过程会在发布问题之前使问题变得明显。


推荐阅读