![](/img/trans.png)
[英]Web scraping with Python and beautifulsoup: What is saved by the BeautifulSoup function?
[英]python function, beautifulsoup scraping
我需要把它变成一个函数
#scrape
for parsed_link in soup.findAll('a', {'target':'Map'}):
links.extend(parsed_link.contents)
返回结果的列表称为“链接”。 如上所述,它可以正常工作,但是我的函数解决方案无法正常工作。 这就是我所拥有的:
def scrape():
parsed_link = soup.findAll('a', {'target':'Map'})
links.extend(parsed_link.contents)
我要去哪里错了? 所有帮助表示赞赏。
为了完整起见,下面是代码的其余部分:
from selenium import webdriver
from bs4 import BeautifulSoup as bs
path_to_chromedriver = r'C:\Users\Kane\Desktop\chromedriver_win32\chromedriver.exe'
browser = webdriver.Chrome(executable_path = path_to_chromedriver)
url = 'http://www.fieldmycology.net/FRDBI/FRDBIrecord.asp?intGBNum=1511'
browser.get(url)
html = browser.page_source
soup = bs(html, 'html.parser')
links = []
for parsed_link in soup.findAll('a', {'target':'Map'}):
links.extend(parsed_link.contents)
这是我将其转换为函数的方法:
def scrape(soup):
links = []
for parsed_link in soup.findAll('a', {'target':'Map'}):
links.append(parsed_link.contents)
return links
...
soup = ...
links = scrape(soup)
第二个示例没有for
循环。 您可能想要append
到列表,而不是extend
。 此函数将soup
作为参数,然后运行您在第一个示例中提供的代码,并以links
作为返回值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.