[Pythonの]小さなプロジェクトのWebクローラ+ MySQLのデータベースストレージ、爬虫類xxのビデオサイトのビデオ磁気リンク

#!は/ usr / binに/のpython3の
#コーディング= UTF8の
インポート要求
BS4インポートBeautifulSoupから
インポートpymysql   
インポート時間は
「」 ' 
必要があります:ビデオWebサイト、なしの検索機能を、私はすべてのWebビデオ名および磁気リンクをクロールPythonの爬虫類を手に入れますmysqlデータベースにダウンクロール、あなたは映画でアドレスを取得することができ、自分の好きな検索キーワードをダウンロードダウンロード
著者:xiaoxiaohui 
時間:2019年10月3日
その他:データベースとデータテーブルを作成するためのMySQLデータベース
 のmysql-uroot - pxxh123 
 作成したデータベース4hucom; 
 4hucomを使用し、
 データベースIDの成長をので
 `4hu_shoujixiaoshipin`(` id`のINTのCREATE TABLE (11)NOT NULL AUTO_INCREMENT、 `biaoti` VARCHAR(380)、` fabutime` VARCHAR(380)、 `lianjie` VARCHAR(380)、 主キー(ID)); 
他の2:(1)メソッド名に関する友人の前に名前をクロールレンタルウェブサイトget_house_info続いている上のように、それは「遊びアドレス内部(2)情報の辞書、爬虫類コードのいくつかの前に、高速に改善されているので、 「:fabutimeは、実際には、」「より良いbofangdizhiするアドレスを果たし
」「」

デフget_links(URL):
 応答= requests.get(URL)
 スープ= BeautifulSoup(response.text、 'html.parser')
 links_div = soup.find_all( 'リー'、クラス_ = "COL-MD-2 COL-SM- 3 COL-XS-4" )
 リンク= [ 'のhttp:// WWW网站名马赛克.COM'でlinks_div DIV用+ div.a.get( 'のhref')] 
 #print(リンク)
 リターンリンクが
 
DEF get_house_info( item_url):
 応答= requests.get(item_url)
 response.encoding = 'UTF-8'  
 スープ= BeautifulSoup(response.text、 'html.parser')
 
 links_div = soup.find_all( 'UL'、クラス_ = "playul")
 lianjie_temp = 'のhttp:// WWW网站名马赛克.COM' + links_div [1] .li.a.get( 'のhref')ダウンロードリンク#クライミングplayulは、二つの第一playulのlinks_divを持っていることをここで注意してください[0]第二のプレイはplayul links_div [1]ダウンロードされている
 )lianjie = get_cililianjie(lianjie_temp)ダウンロードリンク#クライミングplayulは、二つの第一playulのlinks_divを持っていることをここで注意してください[0] [1]は、ダウンロードされた第二のプレイplayulのlinks_divある
 プリント(lianjie)
 
 = soup.find_all links_div2( 'DIV'、クラス_ = "詳細タイトルFN-クリア")
 biaoti = links_div2 [0] .textセクションの[:]。私は宇宙に().strip追加ストリップ()#登る映画名
 #印刷(biaoti)
 
 
 links_div3 = soup.find_all( 'UL'、クラス_ = "playul")
 fabutime = 'HTTP :. // WWWサイトMingmasaike .COM' + links_div [0] .li.a.get ( 'のhref' )#登るビデオ再生アドレス
 #Print(fabutime)
 情報= { 
   'は前記IDを述べた':上記のIDを述べ、
   '映画の名前':biaoti、             
   '遊びアドレス':fabutime、
   'ダウンロードリンク':Lianjieは
  } 
 情報を返す
:DEFのget_cililianjie(URL)
 の対応をrequests.get =(URL)
 response.encoding = 'UTF-8'  
 スープはBeautifulSoup(response.text、 'html.parser')=find_all( 'DIV'、クラス_ = "ダウンロード") 
 #print(links_div)) 
 #print(スープ)
 links_div = soup.find_all( 'DIV'、クラス_ = "ダウンロード")
 lianjie = links_div [0] .a.get( 'のhref')#磁力链接  
 戻るlianjie 

デフget_db(設定):
    リターンpymysql.connect(**設定)
:DEF(DB、家)を挿入
    values_ = " '{}'、" * 2 + " '{}'"   
    sql_values = values_.format(ハウス[ '影片名字']、ハウス[ 'を播放地址']、家[ '下载链接'])
    SQL =フォーマット(sql_values) '4hu_shoujixiaoshipin(biaoti、fabutime、lianjie)の値({})に挿入' 
    カーソル= db.cursor()
    cursor.execute(SQL)
    db.commit()
DATABASE = { 
    'ホスト': '127.0.0.1'、
    'データベース': '4hucom'、
    'ユーザ':'ルート'、 
    'パスワード': 'xxh123'
    「文字セット」:私はnavicat.exe調査が正常中国語で見出さnavicat.exeをUTF8に化けさで見utf8mb4#コードの後まで「UTF8」
    } 
DB = get_db(DATABASE)#データベースに接続

例の#ループは、すべてのページ
範囲(1,44)でYEMA用:   
 :YEMA == 1 IF 
  URL = 'HTTPS:// WWWサイトMingmasaike .COM / VOD / HTML7 / index.htmlを' 
 他:
  URL =「HTTPS :// WWWサイトMingmasaike .COM / VOD / HTML7 /インデックス_ '+ STR(YEMA)+' HTMLは」.. 
 get_linksの=(URL)を結ぶ
 item_url内のリンクのために:
  time.sleep(1.0)
  ハウス= get_house_info(item_url)
  プリント(「成功を得る:{}」形式(ハウス [「 ビデオ名」]))  
  インサート(DB、ハウス)#クロールデータベースへのデータ入力に挿入

効果.PNG

おすすめ

転載: blog.51cto.com/8189171/2443729