我是站在前人的肩膀上完成的溉愁,參考網(wǎng)址如下:
1. 大體框架:豆瓣電影top250爬蟲系列
2. 爬蟲全覽:如何學(xué)習(xí)Python爬蟲[入門篇]攻锰?
把上面的文章通讀E佳蟆J炖簟!讀完后就對爬蟲有大概的認(rèn)識玄窝。
成果:
-----------------------------------------------------分割線---------------------------------------------
知識點(diǎn):
1.?爬蟲模擬瀏覽器-header設(shè)置:爬蟲筆記(二)——瀏覽器的模擬(Headers屬性) ?
2. 大體框架:豆瓣電影top250爬蟲系列是豆瓣5.0版本的爬取牵寺,而現(xiàn)在豆瓣的版本是6.0,5.0的爬蟲不能模擬登陸了恩脂。不過這次的爬蟲任務(wù)不要用到模擬登陸帽氓,所以把代碼里的cookies刪掉就行。
3. Python re.findall中正則表達(dá)式(.*?)和參數(shù)re.S使用 ?re.findall中參數(shù)re.S的意義:參數(shù)有re.S俩块,不會對\n進(jìn)行中斷黎休。
4. python strip()函數(shù)? python strip()函數(shù):s.strip(rm)? s為字符串,rm為要?jiǎng)h除的字符序列玉凯。當(dāng)rm為空時(shí)势腮,默認(rèn)刪除空白符(包括'\n', '\r',? '\t',? ' ')
5. 代碼錯(cuò)誤:SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 ? ? ? ? ?? 出現(xiàn)原因:comment表中username和短評出現(xiàn)emoji(4個(gè)字符) ? ? ? ? ? 解決辦法:1)把會出現(xiàn)emoji的列的字符集改為utf8mb4,排序規(guī)則:utf8mb4_unicode_ci; 2)連接數(shù)據(jù)庫時(shí)漫仆,設(shè)定寫入模式是utf8mb4 ? ? ?? 參考:表情存儲異常--mybatis拋出異常(java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1)
-----------------------------------------------------分割線---------------------------------------------
注意事項(xiàng):
網(wǎng)上流傳的爬蟲代碼如果爬不出東西捎拯,多數(shù)是因?yàn)檎齽t表達(dá)式不對,所以熟悉正則表達(dá)式非常重要盲厌!
-----------------------------------------------------分割線---------------------------------------------
問題:
1. 執(zhí)行代碼后署照,movie表只能得到247條記錄,死活都得不到250條記錄吗浩,誰能告訴我為什么建芙?因?yàn)槎拱甑南拗茊幔?/p>
2. 匹配演員信息的正則表達(dá)式不知道怎么寫比較簡潔?我想定點(diǎn)搜索:先找到頭部拓萌,然后根據(jù)正則表達(dá)式搜索重復(fù)的地方岁钓。我只想得到標(biāo)黃部分的url和名字。
源代碼:
和豆瓣電影top250爬蟲系列相比,大體框架一致屡限,有些正則表達(dá)式不一樣品嚣,還有判斷語句也修改了。