摘要:查看源碼下載頁面并處理提取數(shù)據(jù)觀察該網(wǎng)站結構可知該頁面下所有電影包含在標簽下。使用語句獲取該標簽在標簽中遍歷每個標簽獲取單個電影的信息。以電影名字為例清洗數(shù)據(jù)其余部分詳見源碼頁面跳轉檢查后頁標簽。
查看源碼
DOWNLOAD_URL = "http://movie.douban.com/top250/" html = requests.get(url).text tree = lxml.html.fromstring(html)
觀察該網(wǎng)站html結構
可知該頁面下所有電影包含在 ol 標簽下。每個 li 標簽包含單個電影的內容。
使用XPath語句獲取該ol標簽
movies = tree.xpath("http://ol[@class="grid_view"]/li")
在ol標簽中遍歷每個li標簽獲取單個電影的信息。
以電影名字為例
for movie in movies: name_num = len(movie.xpath("descendant::span[@class="title"]")) name = "" for num in range(0, name_num): name += movie.xpath("descendant::span[@class="title"]")[num].text.strip() name = " ".join(name.replace("/", "").split()) # 清洗數(shù)據(jù)
其余部分詳見源碼
檢查“后頁”標簽。跳轉到下一頁面
next_page = DOWNLOAD_URL + tree.xpath("http://span[@class="next"]/a/@href")[0]
返回None則已獲取所有頁面。
創(chuàng)建csv文件
writer = csv.writer(open("movies.csv", "w", newline="", encoding="utf-8")) fields = ("rank", "name", "score", "country", "year", "category", "votes", "douban_url") writer.writerow(fields)
其余部分詳見源碼
先在mysql中創(chuàng)建數(shù)據(jù)庫與表,表的屬性應與要插入的數(shù)據(jù)保持一致
連接數(shù)據(jù)庫db = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd=PWD, db="douban",charset="utf8")
創(chuàng)建游標cur = db.cursor()
將獲取的電影信息導入數(shù)據(jù)庫
sql = "INSERT INTO test(rank, NAME, score, country, year, " "category, votes, douban_url) values(%s,%s,%s,%s,%s,%s,%s,%s)" try: cur.executemany(sql, movies_info) db.commit() except Exception as e: print("Error:", e) db.rollback()
以上所有內容可以在80行Python代碼內完成,很簡單吧。(`?ω?′)
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/41012.html
摘要:前言新接觸爬蟲,經(jīng)過一段時間的實踐,寫了幾個簡單爬蟲,爬取豆瓣電影的爬蟲例子網(wǎng)上有很多,但都很簡單,大部分只介紹了請求頁面和解析部分,對于新手而言,我希望能夠有一個比較全面的實例。 0.前言 新接觸爬蟲,經(jīng)過一段時間的實踐,寫了幾個簡單爬蟲,爬取豆瓣電影的爬蟲例子網(wǎng)上有很多,但都很簡單,大部分只介紹了請求頁面和解析部分,對于新手而言,我希望能夠有一個比較全面的實例。所以找了很多實例和文...
摘要:注意爬豆爬一定要加入選項,因為只要解析到網(wǎng)站的有,就會自動進行過濾處理,把處理結果分配到相應的類別,但偏偏豆瓣里面的為空不需要分配,所以一定要關掉這個選項。 本課只針對python3環(huán)境下的Scrapy版本(即scrapy1.3+) 選取什么網(wǎng)站來爬取呢? 對于歪果人,上手練scrapy爬蟲的網(wǎng)站一般是官方練手網(wǎng)站 http://quotes.toscrape.com 我們中國人,當然...
摘要:對新手來說,難點部分在于如何找到并成功跳轉到下一頁,并且在最后一頁的時候識別出來并停止爬蟲。一個很基礎的爬蟲。 這是一個很好的新手練習項目,爬取豆瓣top250的電影,并分別記錄排名、片名、導演、主演、評論等信息,保存在一個txt文檔里。對新手來說,難點部分在于如何找到并成功跳轉到下一頁,并且在最后一頁的時候識別出來并停止爬蟲。 一個很基礎的爬蟲。以下是代碼部分。 import req...
摘要:概述在前面兩篇爬蟲學習之基于的網(wǎng)絡爬蟲和爬蟲學習之簡單的網(wǎng)絡爬蟲文章中我們通過兩個實際的案例,采用不同的方式進行了內容提取。 概述 在前面兩篇(爬蟲學習之基于Scrapy的網(wǎng)絡爬蟲和爬蟲學習之簡單的網(wǎng)絡爬蟲)文章中我們通過兩個實際的案例,采用不同的方式進行了內容提取。我們對網(wǎng)絡爬蟲有了一個比較初級的認識,只要發(fā)起請求獲取響應的網(wǎng)頁內容,然后對內容進行格式化存儲。很多時候我們抓取到的內容...
閱讀 965·2021-11-22 12:04
閱讀 2162·2021-11-02 14:46
閱讀 681·2021-08-30 09:44
閱讀 2157·2019-08-30 15:54
閱讀 788·2019-08-29 13:48
閱讀 1656·2019-08-29 12:56
閱讀 3518·2019-08-28 17:51
閱讀 3330·2019-08-26 13:44