在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  Python  網(wǎng)絡(luò)安全/ Python爬蟲如何實現(xiàn)自動翻頁并將數(shù)據(jù)存入csv中?

Python爬蟲如何實現(xiàn)自動翻頁并將數(shù)據(jù)存入csv中?

求大神指導(dǎo),本人剛接觸到python爬蟲,有一些問題,再此感激不盡!?。。?br>我想爬取一些英文新聞標(biāo)題,然后把他們存在一個csv文件里面
我的代碼如下

 import csv, requests, re
 from bs4 import BeautifulSoup

 urls = ['https://www.defense.gov/News/Archive/?Page={}'.format(str(i)) for i in range(1,10)]

def get_titles(urls,data = None):
    html = requests.get(urls).text
    soup = BeautifulSoup(html, 'html.parser')
    articles = []
    for article in soup.find_all(class_='info'):
        Label = 'Archive'
        News = article.find(class_='title').get_text()
        articles.append([Label,News])
        with open(r'1.csv','a', newline='') as f:
             writer = csv.writer(f)
             writer.writerow(['Label','News'])
             for row in articles:
                 writer.writerow(row)

for titles in urls:
get_titles(titles)

想這樣來爬取1-9頁的新聞標(biāo)題,但是最后運行結(jié)果是這樣

clipboard.png
每增加一個新聞標(biāo)題都會把之前的標(biāo)題重復(fù)寫入csv中。

求大神指導(dǎo)??!

回答
編輯回答
誮惜顏

原因是之前的articles列表沒有清空,所以每一次都會輸出之前的數(shù)據(jù),只需要再后面置空一下列表變量就行了
articles = []就行了,希望可以幫到大家,然后把writer.writerow(['Label','News'])寫出循環(huán)外就可以不用每次都有Label和News了

2018年9月19日 11:27