Python 网页抓取大量链接?
我对网页抓取很陌生。我已经开始在Python中使用BeautifulSoup。我编写了一个代码,可以循环浏览URL列表,并获取所需的数据。该代码适用于10-12个链接,但我不确定如果列表中有100多个链接,同样的代码是否有效。是否有任何替代方法或任何其他库通过输入大量url列表来获取数据,而不会以任何方式损害网站。这是到目前为止我的代码Python 网页抓取大量链接?,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我对网页抓取很陌生。我已经开始在Python中使用BeautifulSoup。我编写了一个代码,可以循环浏览URL列表,并获取所需的数据。该代码适用于10-12个链接,但我不确定如果列表中有100多个链接,同样的代码是否有效。是否有任何替代方法或任何其他库通过输入大量url列表来获取数据,而不会以任何方式损害网站。这是到目前为止我的代码 url_list = [url1, url2,url3, url4,url5] mylist = [] for l in url_list: url =
url_list = [url1, url2,url3, url4,url5]
mylist = []
for l in url_list:
url = l
res = get(url)
soup = BeautifulSoup(res.text, 'html.parser')
data = soup.find('pre').text
mylist.append(data)
这里有一个例子,也许是给你的
from simplified_scrapy import Spider, SimplifiedDoc, SimplifiedMain, utils
class MySpider(Spider):
name = 'my_spider'
start_urls = ['url1']
# refresh_urls = True # If you want to download the downloaded link again, please remove the "#" in the front
def __init__(self):
# If your link is stored elsewhere, read it out here.
self.start_urls = utils.getFileLines('you url file name.txt')
Spider.__init__(self,self.name) # Necessary
def extract(self, url, html, models, modelNames):
doc = SimplifiedDoc(html)
data = doc.select('pre>text()') # Extract the data you want.
return {'Urls': None, 'Data':{'data':data} } # Return the data to the framework, which will save it for you.
SimplifiedMain.startThread(MySpider()) # Start download
您可以在这里看到更多示例,以及库simplified_Prapy的源代码:您发出100个请求并不是在“损害”网站。更大的数字可能开始出现问题。您正在使用的库没有区别。网站必须处理你发送给它的任何请求。如果您想对服务器更温和一些,可以在请求之间添加time.sleep(秒数)
。