scrapy入門級的學習
關於scrapy學習的要點:
(1)css選擇器選擇元素
scrapy提供css和xpath兩種選擇器來提取html元素,因為我對css更熟,這裡用的就是css。
(2)對item和pipeline的理解
item是存放資料的容器,pipline用來處理抓取後放在item中的資料。
環境
ubuntu14
python3.5
scrapy 1.3.3
遇到的問題
(1)403無法訪問,於是模仿瀏覽器,在setting配置user_agent,**會以為你是通過瀏覽器訪問
(2)json檔案unicode亂碼,通過引入pipline控制,寫入檔案時候的編碼格式
結果截圖
不用框架爬豆瓣電影top250
python2
#!/usr/bin/env python
# encoding=utf-8
"""爬取豆瓣電影top250 - 完整示例**
"""import codecs
import requests
from bs4 import beautifulsoup
download_url = ''
defdownload_page
(url):
return requests.get(url, headers=).content
defparse_html
(html):
soup = beautifulsoup(html)
movie_list_soup = soup.find('ol', attrs=)
movie_name_list =
for movie_li in movie_list_soup.find_all('li'):
detail = movie_li.find('div', attrs=)
movie_name = detail.find('span', attrs=).gettext()
next_page = soup.find('span', attrs=).find('a')
if next_page:
return movie_name_list, download_url + next_page['href']
return movie_name_list, none
defmain
(): url = download_url
with codecs.open('movies.txt', 'wb', encoding='utf-8') as fp:
while url:
html = download_page(url)
movies, url = parse_html(html)
fp.write(u'\n'.format(movies='\n'.join(movies)))
if __name__ == '__main__':
main()
抓取豆瓣電影Top250影評資料
我們先觀察豆瓣電影top250任意一頁的url位址的格式。先觀察第二頁。豆瓣top page2 熟悉了url格式,下面用urllib庫試著抓取頁面內容 我們以物件導向的編碼方式編寫這個頁面抓取程式。定義乙個類名movietop,在類中定義乙個初始化方法和乙個獲取頁面的方法。我們把一些基本資訊和引數初...
Python小爬蟲 抓取豆瓣電影Top250資料
寫leetcode太累了,偶爾練習一下python,寫個小爬蟲玩一玩 比較簡單,抓取豆瓣電影top250資料,並儲存到txt 上傳到資料庫中。通過分析可以發現,不同頁面之間是有start的值在變化,其他為固定部分。以物件導向的編碼方式編寫這個程式,養成好的編碼習慣。基本資訊在 init 函式中初始化...
Python python抓取豆瓣電影top250
一直對爬蟲感興趣,學了python後正好看到某篇關於爬取的文章,就心血來潮實戰一把吧。實現目標 抓取豆瓣電影top250,並輸出到檔案中 1.找到對應的url 2.進行頁面元素的抓取 3.編寫 第一步 實現抓取第乙個頁面 第二步 將其他頁面的資訊也抓取到 第三步 輸出到檔案 4.5.結果 1 控制台...