亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python爬蟲實現使用beautifulSoup4爬取名言網功能案例

系統 1776 0

本文實例講述了Python爬蟲實現使用beautifulSoup4爬取名言網功能。分享給大家供大家參考,具體如下:

爬取名言網top10標簽對應的名言,并存儲到mysql中,字段(名言,作者,標簽)

            
#! /usr/bin/python3
# -*- coding:utf-8 -*-
from urllib.request import urlopen as open
from bs4 import BeautifulSoup
import re
import pymysql
def find_top_ten(url):
  response = open(url)
  bs = BeautifulSoup(response,'html.parser')
  tags = bs.select('span.tag-item a')
  top_ten_href = [tag.get('href') for tag in tags]
  top_ten_tag = [tag.text for tag in tags]
  # print(top_ten_href)
  # print(top_ten_tag)
  return top_ten_href
def insert_into_mysql(records):
  con = pymysql.connect(host='localhost',user='root',password='root',database='quotes',charset='utf8',port=3306)
  cursor = con.cursor()
  sql = "insert into quotes(content,author,tags) values(%s,%s,%s)"
  for record in records:
    cursor.execute(sql, record)
  con.commit()
  cursor.close()
  con.close()
# http://quotes.toscrape.com/tag/love/
#要獲取對應標簽中所有的名言 所以這里要考慮分頁的情況
#經過在網頁上查看知道分頁查詢的url
#http://quotes.toscrape.com/tag/love/page/1/
#判斷到那一頁沒有數據 div.container div.row [1]
def find_link_content(link):
  page = 1
  while True:
    new_link = "http://quotes.toscrape.com" + link + "page/"
    # print(new_link)
    new_link = new_link + str(page)
    print(new_link)
    sub_bs = open(new_link)
    sub_bs = BeautifulSoup(sub_bs,'html.parser')
    quotes = sub_bs.select('div.row div.col-md-8 span.text')
    # 如果沒有數據就退出
    if len(quotes) == 0:
      break
    #名言
    quotes = [quote.text.strip('“”') for quote in quotes]
    #作者
    authors = sub_bs.select('small.author')
    authors = [author.text for author in authors]
    # 標簽
    tags_list = sub_bs.select('meta.keywords')
    tags_list = [tags.get('content') for tags in tags_list]
    # print(authors)
    # print(quotes)
    #print(tags_list)
    record_list = []
    for i in range(len(quotes)):
      tags = tags_list[i]
      tags = tags.replace(',',',')
      print(tags)
      record = [quotes[i],authors[i],tags]
      record_list.append(record)
    insert_into_mysql(record_list)
    page += 1
#
def main():
  url = "http://quotes.toscrape.com/"
  parent_link = find_top_ten(url)
  for link in parent_link:
    print(link)
    find_link_content(link)
if __name__ == '__main__':
  main()


          

更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级黄色片网站 | 成人毛片免费在线观看 | 看免费黄色一级视频 | 久久手机视频 | 天天操丝袜 | 日韩精品一区二区三区免费视频 | 九九久久国产 | 国产一起色一起爱 | 久久精品无码一区二区日韩av | 免费一级毛片在线播放不收费 | 欧美日韩在大午夜爽爽影院 | 日韩精品中文字幕久久 | 日韩日韩 | 久草在线最新 | 免费在线欧美 | jizzjizz中国丝袜美女 | 欧美午夜精品久久久久免费视 | 久久久久久久一线毛片 | 国产欧美日韩精品高清二区综合区 | 久久依人 | 日日爽日日操 | 成人午夜 | 国内精品影院久久久久 | 国产精品日本一区二区在线看 | 成人国产精品久久久免费 | 九九九好热在线 | 欧美一级成人毛片视频 | 伊人网色 | 天天摸夜夜添狠狠添2018 | 欧美日韩三区 | 四虎影视库永久在线地址 | 日本操比 | 成人午夜久久 | 色播影音| 国产精品99久久久久久www | 欧美成人看片黄a免费 | 色久综合网 | 99热在线精品观看 | 四虎黄色网 | 亚洲一区综合 | 国产黄网永久免费 |