Python爬虫教程27:秀啊!用Pandas 也能爬虫??
import requests
import pandas as pd
from bs4 import BeautifulSoup
# 设置请求头,伪装为浏览器访问
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
def get_html(url):
response = requests.get(url, headers=headers)
return response.text
def parse_html(html):
soup = BeautifulSoup(html, 'lxml')
titles = soup.find_all('div', class_='title')
for title in titles:
yield {
'title': title.a.string,
'href': title.a['href'],
'score': title.find_next('span', class_='rating_num').string
}
def save_data(data, filename):
df = pd.DataFrame(data)
df.to_csv(filename, index=False, encoding='utf-8')
def main():
url = 'https://movie.douban.com/top250'
html = get_html(url)
data = parse_html(html)
save_data(data, 'douban_movies.csv')
if __name__ == '__main__':
main()
这段代码使用了Pandas库来保存解析后的数据,而不是之前的CSV格式。这样做的好处是可以直接将数据存储为.csv
文件,并且可以方便地进行后续的数据分析工作。同时,代码中的parse_html
函数使用生成器,这是一种更为高效的数据处理方式。
评论已关闭