文章出處

準備工作:Chrome,Python(要安裝requests,BeautifulSoup4)

安裝requests:pip install requests, pip install BeautifulSoup4, pip install jupyter.

cmd: jupyter notebook(開發在這個頁面完成)

在新開頁面中,選擇new-》Python 3.進去coding頁面。

Requests提供post, get, put, delete等方法獲取網絡資源。

一般大的門戶網站頁面內容很多,顯示內容分在不用的子頁面中。用chrome就可以找到你想要的頁面內的信息是從哪個子頁面(網址)返回來的。右鍵點擊頁面空白,inspect->networking,刷新頁面,就會看到許多鏈接。找到你想要的鏈接地址信息,進行分析。進入目標頁面,可以用下方工具頁面坐上的小箭頭,來分析頁面。

code:

#獲取網頁源文件

import requestsres=requests.get('http://www.baidu.com/')res.encoding='utf-8'print(res.text)

#解析網頁源文件

from bs4 import BeautifulSoupsoup=BeautifulSoup(res.text,'html.parser')

# text為標簽內容

print(soup.text)

#選取所有h1標簽的元素,h1是list

title=soup.select('title')print(title[0].text)

#選取所有a標簽元素

alink=soup.select('a')print(alink)for link in alink:

#獲取標簽的屬性值['href']

print(link['href'],link.text,sep=',')

#選擇alink下前5個item

alink[0:5]

#刪除最后一個item

alink[:-1]

#構造link text的list

allLink=[]for link in alink:allLink.append(link.text.strip())

# 同上功能 [link.text.strip() for link in allLink]

#鏈接所有alink下item.text, '*'為分隔符

‘*’.join(allLink)

#選擇id為lg的標簽

idTag=soup.select('#lg')print(idTag)

#選擇class為lb的標簽

clsTag=soup.select('.lb')print(clsTag)

#select返回對象仍是BeautifulSoup對象,所以可以繼續使用select方法,選擇div的class為對象集合,進行詳細分析。

#如果選擇標簽為空[],用len判斷舍去

if len(clsTag)>0:print(clsTag)

#當標簽有嵌套時,想獲得外層標簽內容和內層標簽內容,contents方法返回內容和內部嵌套標簽的列表

#.contents[0]表示外層標簽包含的內容,.strip()去除空格\t, strip('xxx')移除xxx, 類同lstrip(), rstrip()

clsTag[0].contents[0].strip()

#當要選擇嵌套標簽內的標簽時,下面語法就是選擇class=lb的標簽,標簽內span,內a的標簽

clsTag=soup.select('.lb span a')from datetime import datetimedateStr='2017年2月17日 15:56:30'

#字符串轉換成時間

dt=datetime.strptime(dateStr,'%Y年%m月%d日 %H:%M:%S')

#時間轉換成字符串

dateStr=dt.strftime('%Y-%m-%d %H:%M:%S')print(dt)print(dateStr)

#讀取JavaScript返回數據Json

import requestsres=requests.get(url)import jsonjd=json.loads(res.text.strip('var data='))jd['result']['key 1']['key 2']

#用正則表達式取出特定字符串

import retargetStr='abc-(anyname).xyz'm=re.search('abc-(.+).xyz',targetStr)m.group(0) //整個匹配字符串m.group(1) // 內部字符串anyname

這篇文章只要有Python基礎,懂得簡單方法,就可以實現數據抓取工作。

原視頻地址:

https://ke.qq.com/course/161451

#構造link text的list

看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170219/103660.html

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()