通過這次練習,讓我明白了哪兒不足,好多語法用的不熟練導致
比如 for i in range 很常用,在乙個文字中迴圈呼叫每行指令的話
我的思路是建立乙個函式 然後用for i in range迴圈呼叫 如
我之前使用queue函庫,不使用到多執行緒,所以比較雞肋。
於是放棄了用queue
還有就是 read(),readlines() 的使用
read()是按照原格式直接閱讀,readlines()是以字串形式全部閱讀
對於要迴圈呼叫都是用的第二個,【而且!!!一定要記得strip(『\n』)】就是刪除換行,不然迴圈讀取的時候回出現字尾加上了\n
從而無法得到正確的值。
正所謂練劍千日,得心應手,通過這次練習我發現我應該多敲敲**多多練習。
貼上第一部分源**
#coding=utf-8
import re
import requests
import queue
import time
import os
for i in range(1,454):
url=''%i
ye = requests.get(url=url,headers=headeraa)
yem = re.findall('
通過翻頁可以知道不同頁面是/目錄/1.htm
2.htm
以此類推
所以用for i in range(1,300),迴圈300次
將第乙個**貼上去,用%d 匹配 當前次數
最後將結果儲存下來
第二部分就是逐次抓取了,關於這部分我首先是想用queue庫,後來發現沒這必要,還是用for i in range
貼上第二部分第一次想法源**
# coding=utf-8
import requests
import re
import time
import queue
import threading
q = queue.queue()
threading_num = 5 #執行緒數
f = open("mulu.txt", "r")
while true:
line = f.readline()
if line:
pass
c = "%s"%line
print c
else:
break
f.close()
q.put(c)
def start():
while not q.empty():
cc = q.get()
try:
url = "%s"�
print url
a = requests.get(url=url,headers=headeraa)
b = re.findall('
',a.content)
print "提取當前頁面的原始位址,請稍等..."
time.sleep(6)
print "提取成功,正在寫出目錄~"
print "發現乙個異常,程式開始清理異常"
time.sleep(3)
for i in range(threading_num):
t = threading.thread(target=start)
t.start()
發現不是很好用
於是重寫一次
#coding = utf-8
import requests
import re
import time
f = open('mulu.txt','r')
ff = f.readlines()
f.close()
def xiazai():
print "當前頁面為:" + urlx
a = requests.get(url=urlx,headers=headeraa)
b = re.findall('',a.content)
c = re.findall('
',a.content)
print "提取當前頁面的原始位址,請稍等..."
time.sleep(2)
print "提取完畢,正在寫出目錄"
就是我最終的想法,最後把兩個合在一起,效果下圖。
第二章 練習。
1.正因子問題。include include int main printf d count return 0 注意 if if 如果是 if n i 0 count if i n i count 會比正確結果多一。可以用以下程式檢驗,看中間結果。include include int main ...
第二章練習
2 2 多條簡單訊息 將一條訊息儲存到變數中,將其列印出來 再將變數的值修改為一條新訊息,並將其列印出來。message this is a string.print message this is a string.message this is another string.print mess...
第二章練習
1 請用 實現 利用下劃線將列表的每乙個元素拼接成字串,li alex eric rain 該題目主要是考的字串的拼接方法,jion方法,s li alex eric rain s jion li 2 查詢列表中元素,移除每個元素的空格,並查詢以a或a開頭並且以c結尾的所有元素。li alec ar...