python爬蟲 傳遞URL引數學習筆記

2021-07-23 22:42:44 字數 2070 閱讀 3164

# -*- coding: utf-8 -*-

"""created on sat oct 22 17:57:13 2016

@author: hhxsym

買糧網搜尋列表獲

"""import os

import requests

from bs4 import beautifulsoup

inpath="c:\\users\\hhxsym\\desktop\\課程**ython爬蟲"

inpath = unicode(inpath , "utf8") 

os.chdir(inpath)  #不做編碼轉換後,中文路徑無法開啟,更改

def get_search_list(keyword = none, page = 1):

url = ''

payload=

response = requests.get(url,params=payload) # requests.get(url位址,關鍵字url引數)

print response.url #檢視返回內容的url位址

print response.status_code #列印狀態碼

soup = beautifulsoup(response.text,'lxml')

#print soup

names = soup.select('body > div.wrap > div.merchantlist > div.p_datalist > div.p_dataitem > span.n1 > a') 

#css樣式, .後面跟的是css樣式,找到所有符合條件的a標籤的字串列表

#names = soup.select('body > div.wrap > div.merchantlist > div > div.p_dataitem > span.n1 > a') #這個也可以 

#names = soup.select('body > div.wrap > div.merchantlist > div.p_datalist > div:nth-child(2) > span.n1 > a') # 為啥這個不行,原因?

capitials = soup.select('body > div.wrap > div.merchantlist > div.p_datalist > div.p_dataitem > span.n3')

adds = soup.select('body > div.wrap > div.merchantlist > div.p_datalist > div.p_dataitem > span.n5')

categorys = soup.select('body > div.wrap > div.merchantlist > div.p_datalist > div.p_dataitem > span.n6')

with open('data.txt', 'w') as f:

f.write('公司名稱|註冊資本|公司位址|主營品類\n') #寫入標題行

for name, capitial, add, category in zip(names, capitials, adds, categorys):

name = name.get('title').strip() #剔除空格

capitial = capitial.text  

add = add.text

category = category.text

data = [name, capitial, add, category+'\n']                

#print '|'.join(data)

f.write('|'.join(data).encode('utf-8')) #寫入資料行

#f.write('|'.join(data)) #會報錯,unicodeencodeerror,解決辦法:編碼為utf-8

print '寫入成功!'

if __name__=='__main__':

get_search_list(u'玉公尺', 1)

#文字資料excel方法: 複製 -> 貼上到excel -> 選單欄"資料" -> 分列 -> 『分隔符號』 ->……

url傳遞中文引數

send.html var key 測試 通常,如果我們直接將中文寫在url中,得到的卻是一堆亂碼 e6 b5 8b e8 af 95 因為這涉及到編碼問題。如果你設定了編碼方式為utf 8,則它會將中文編譯為英文,如果對應的頁面的編碼方式也為utf 8,則就直接顯示編譯後的中文 解決方法 1.en...

python 引數傳遞 Python 引數傳遞

python中的變數 乙個變數是區域性還是全域性,在編譯函式的時候就已經決定,因此讀變數值的時候也不會逐層向外查詢。變數是全域性還是局域,根據如下3條 1.如果函式內部有global語句,那麼它宣告的變數是全域性的。2.如果函式內部有對變數的賦值語句,那麼它是局域的。3.除此之外都是全域性的。注意1...

python 引數傳遞 python引數傳遞

python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...