Python 网页抓取大量链接?

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 =

我对网页抓取很陌生。我已经开始在Python中使用BeautifulSoup。我编写了一个代码,可以循环浏览URL列表,并获取所需的数据。该代码适用于10-12个链接,但我不确定如果列表中有100多个链接,同样的代码是否有效。是否有任何替代方法或任何其他库通过输入大量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(秒数)