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

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

系統 1556 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元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 性欧美高清come | 国产亚洲欧洲精品 | ww亚洲ww亚在线观看 | 国产黄色自拍 | 好看的亚洲视频 | 手机看片日韩高清国产欧美 | 亚洲综合激情视频 | 亚洲人人草| 精品视频久久 | 成人影院午夜久久影院 | 精品久久久久久久九九九精品 | 95视频在线观看在线分类h片 | 国产成人久久精品区一区二区 | 久草在线视频首页 | 天天在线综合网 | 超清中文乱码精品字幕在线观看 | 欧美大片aaaa一级毛片 | 亚洲免费网站在线观看 | 91在线永久 | 日韩免费小视频 | 亚洲精品123区在线观看 | 国产一级淫片a | 国产91久久精品一区二区 | 日韩天堂在线 | 中文字幕视频一区二区 | fxxxx性欧美高清 | 美女被视频在线看九色 | 中国老太婆bbbbbxxxxx | 国产精品一区三区 | 久久免费福利视频 | 日韩视频 中文字幕 | 我要看免费毛片 | 综合亚洲欧美日韩一区二区 | 国产精品久草 | 成人爱爱爱欧美日本视频 | 亚洲图区综合 | 中国一级毛片免费观看 | 久久久精品国产四虎影视 | 久久精品中文字幕一区 | 在线欧美日韩 | 久青草视频免费视频播放线路1 |