爬蟲初體驗,解析網頁Table

2021-07-25 07:44:41 字數 2206 閱讀 6867

閒來無事,學了點python,然後就開始想些點小爬蟲,python這種語言喜歡輪子,來減少一些消耗,可是自己總是跨不過這個坎總覺得接受不了(總之就是有點菜),所以寫來記錄一下

爬取**:的table

工具:requests(用來請求,爬取網頁),beautifulsoup4(解析網頁),pandas(資料處理)

1、先將要使用得輪子匯入:

import requests

from bs4 import beautifulsoup

from pandas import dataframe

2、get_info()函式:

def

get_info

(): flag = list()

info = list()

url = ""

r = requests.get(url)

#print(r.encoding)

soup = beautifulsoup(r.text, 'html5lib')

for td in soup.select("tbody tr td"):

#print(td.text)

#因為爬下來最前面出現三個空字串,清除

if len(td.text) != 0:

#如果list:flag有12個元素就清除

if len(flag) == 12:

#print(i)

#print(flag)

# df = dataframe(flag)

# print(df)

del flag[:]

#將二維陣列轉化為dataframe資料

df = dataframe(info)

# print(df)

df.to_csv("df.csv")

1、嘗試獲取某個網頁使用requests.get()方法,會返回乙個response物件, 通過r.text可以獲取到網頁,此外通過r.encoding獲取網頁的編碼,這個是重點,因為編碼 問題真的傷人,我所爬取的網頁的編碼為「utf-8」

2、

soup = beautifulsoup(r.text, 'html5lib')
html5lib是一種解析器,還有其他解析器詳見beautifulsoup文件

3、

for td in soup.select("tbody tr td"):

#print(td.text)

#因為爬下來最前面出現三個空字串,清除

if len(td.text) != 0:

#如果list:flag有12個元素就清除

記錄一下過程,寫這個程式功力不足,遇到了很多問題:編碼,對for….in…迴圈的理解,以及list切片的理解,網頁的解析,資料的處理

爬蟲利器初體驗

scrapy 資料流 scrapy 元件 爬取豆瓣電影 top250 前言為什麼要學 scrapy 呢?看下圖,就清楚了。很多招聘要求都有 scrapy,主要是因為 scrapy 確實很強。那到底強在 呢?請在文中找答案。scrapy 資料流 首先我們先來學習一下 scrapy 的工作流程。scra...

scrapy之爬蟲初體驗

本篇文章主要將怎樣建立乙個scrapy專案,以及完成第乙個scrapy爬蟲專案。首先是安裝scrapy模組,有很多原因都能導致scrapy模組安裝失敗,網上有很多教程讓怎樣安裝scrapy。親測比較有效的方法使用whl檔案安裝。不過有小夥伴也可以嘗試直接使用pip install scrapy命令進...

Python爬蟲之初體驗

python爬蟲,一般用於抓取特定的內容,最近想學學,通過網路抓取自己想要的內容,於是乎學習了一下python,用乙個小案例來紀念一下學習的成果。coding utf 8 import urllib import re 定義個函式 抓取網頁內容 def gethtml url webpage url...