網頁抓取 (2)

2022-05-06 07:48:09 字數 3228 閱讀 9370

找到起點

54 falg = 0;55

if(*(p-1)=='/'

)5659else

6066 p = q;//

後67 q2 = p;//

前68 p2=p-1;//前69

while(*(--q2) != '/'

);70 p=q2+1;//

後後71 memset(strfrom,0,sizeof

(strfrom));

72while(q2 73 strfrom[falg++] = *(++q2);74}

7576

while(*q!='"'

)77 q--;

7879 memset(szurl, 0, sizeof

(szurl));

80 len = 0;81

while(++q 82 szurl[len++] = *q;

83 strcpy(findstr,strfrom);//

84 strcat(findstr,andstr);//

設定查詢串

85puts(findstr);

86 codeconvert(strfrom, strto, sizeof(strto), 2);//

87strcat(szurl, strto);

88puts(szurl);

89 szdata = getdatafromweb(szurl, null, null,1, 5

);90 codeconvert(szdata, svdata, sizeof(svdata), 1);//

轉碼91

//puts(svdata);

92 p =strstr(svdata, findstr);

93 len =strlen(outstr);

94while(*p != '4'

)95100 p++;

101}

102puts(outstr);

103104 p = strstr(outstr,restr);//

去重105 len =strlen(restr);

106if(p == &outstr[0

])107

112else

113122

free(szdata);

123 szdata =null;

124125

/*if(fopen("text.txt", "r+") == null)

126fp=fopen("text.txt", "w+r");

127else

128fp=fopen("text.txt", "r+");

129fputs(outstr, fp);

*/130

131/*

char strfrom[100] = "";

132char strto[100] = "";

133gets(strfrom);

134if(codegbktounicode(strfrom,strto,100,20))

135puts(strto);

136else

137printf("no~!\n");

138139

/* char strfrom[1024*40] = "

", * strto= null;

140char szdata[100] = "",svdata[100] = "";

141char str[1024*40] ;

142char szurl[512] = "";

143file *fp;

144gets(szdata);

145codeconvert(szdata, svdata, sizeof(svdata), 2);

146strcat(strfrom,svdata);

147sprintf(szurl, strfrom);

148strto = getdatafromweb(szurl, null, null, 1, 5);

149codeconvert(strto, str, sizeof(str), 1);

150if(fopen("text.txt", "r+") == null)

151fp=fopen("text.txt", "w+r");

152else

153fp=fopen("text.txt", "r+");

154fputs(str, fp);

155puts(str);

*/156

return1;

157 }

早上寫的是一頁一頁抓的,當頁數太多時 會變得很慢,後來 老韋說讓我寫第二個 **的時候用 **,但是那個**用的是內碼,不能直接獲取資訊,可能還要檢索他的內碼。由此我想前面這個查字典的** 是不是也可以用 **去檢索,後來改了下,還好可以的,這樣就變得快多啦

改後的**:

去重52 len =strlen(restr);

53if(p == &outstr[0

])54

59else

6069

free(szdata);

70 szdata =null;

71return1;

72 }

python爬蟲 2 靜態網頁抓取

獲取響應內容 import requests r requests.get print 文字編碼 r.encoding 伺服器使用的文字編碼 print 響應狀態碼 r.status code 檢測響應的狀態碼,200為成功,4xx為客戶端錯誤,5xx為伺服器錯誤響應 print 字串方式的響應體 ...

urllib2抓取網頁內容

urllib和urllib2 1 urllib 僅可以接受 url,urllib2 可以接受 個設定了 headers 的 request 類例項。這表示我們可以偽裝 的 user agent 字串等。2 urllib 提供 urlencode 法 來 get 查詢字串的產 urllib2 沒有。這...

jsoup網頁內容抓取分析 2

下面寫些我的使用記錄,希望大家如果能從我的方法中得到啟發,鑑於本人從事開發工作不久,內容可能寫的不是很好。jsoup資料獲取有兩大方法 1.通過分析dom模型的網頁標籤和元素,2.select元素選擇器,類似jquery方式 功能很強大,還支援正規表示式 網頁tag標籤有body,div,table...