前面用的一直是python內建的urllib庫進行爬蟲實驗,後面發現原來用第三方庫requests更佳
下面這個是對糗事百科的段子爬取,**更加規範,符合物件導向,而且特別是requests用起來更方便
在windows系統下只需要在命令列輸入命令 pip install requests 即可安裝。
# coding:utf-8
import re
import requests
class joke:
# 魔法方法
def __init__(self):
self.user_agent = 'mozilla/4.0 (compatible; msie 5.5; windows nt)'
self.header =
def getpage(self):
try:
url = ''
response = requests.get(url, headers = self.header, timeout = 30)
pattern = re.compile('\s(.*?).*?**說明:
多行匹配,那麼需要加上re.s
str = "a23b\na34b"
re.findall(r"a(\d+)b.+a(\d+)b", str)#輸出
#因為不能處理str中間有\n換行的情況
re.findall(r"a(\d+)b.+a(\d+)b", str, re.s)#s輸出[('23', '34')]
貪婪和非貪婪匹配
str = "a123b456b"
print re.findall(r"a(.+?)b", str)#輸出['123']#?控制只匹配0或1個,所以只會輸出和最近的b之間的匹配情況
print re.findall(r"a(.+)b", str)#輸出['123b456']
print re.findall(r"a(.*)b", str)#輸出['123b456']
python入門 第二課
一 傳遞引數與引數型別 傳遞引數就是對已經定義的函式中的引數賦予一定的值來實現對函式的呼叫。我們先定義乙個函式,以梯形的面積函式舉例 def tixing base up,base down,height return 1 2 base up base down height接下來開始呼叫函式 ti...
爬蟲第二課 handler,cookie
handlerimport urllib.request proxy handler urllib.request.proxyhandler opener urllib.request.build opener proxy handler response opener.open print res...
winform入門第二課 通訊介面設定
通訊介面的設計,485通訊需要有檢驗位,停止位,資料位,波特率四個引數設定,以及有關於電腦的串口號選擇。設計乙個大概的介面,這些中文都可以右擊屬性,名字直接改就好了。我們可以對這些選擇新增選擇專案,並通過索引賦予其初始選擇的項,例如波特率有1200,2400,4800,9600,通過this.com...