我的python爬虫处子秀

项目描述:

在 pycharm 下写一个 python 脚本,通过 requests.get()请求服务
器,time.sleep()设置间隔访问时间,以防止返爬取机制。然后通过
BeautifulSoup 对服务器返回的网页信息进行解析。接着查看网页
源代码,找出所要爬取一类信息的所有相同标题并通过 select()方
法选择出来。select()返回的是一个列表。设置一个 zip 函数,将
爬取的每类信息与设置的键值一一对应,通过循环将所有信息转换
成字典的结构,然后通过 for 循环 (for i in range(len(data))
与字典解析(title_list = data[i]['title'])将信息整理成列表,
再通过数据框与列表的关系变成 DataFrame 的形式。最后将相关列
设置成需要的自变量与因变量。最后运用逻辑回归,随机森林等统
计学方法进行数据分析。


 

 

 

我的python爬虫处子秀_第1张图片

 

看着这些16,17年初次加入创新基地,被老师‘恐吓’写的代码,或许这些代码已经无法正常运行了,但是回忆如猛兽般袭来,一起写代码的伙伴,毕业的毕业考研的考研,走的走,散的散。感恩所有的遇见,没有你们我现在屁都不是。虽然你们都还不知道我感谢你们 哈哈
import requests,time   #导入请求库
from bs4 import BeautifulSoup  #导入解析库



url = 'http://guba.sina.com.cn/?s=bar&name=sh000001&type=0&page=1'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2745.1 Kuaiso/1.42.501.426 Safari/537.36'}#伪装
wb_data = requests.get(url, headers=header)
soup = BeautifulSoup(wb_data.text, 'html.parser')


def get_links_from():    #获取链接函数
    urls = []
    list_view =[ 'http://gl.58.com/pbdn/?islocal=1&PGTID=0d305a36-0040-ffed-27c3-1faf15537e88&ClickID=1 ',
                 'http://gl.58.com/pbdn/pn2/?islocal=1&PGTID=0d305a36-0040-f5d7-1f4c-ce19c0b966c1&ClickID=2']
    wb_data = requests.get(list_view[0])#翻页
    soup = BeautifulSoup(wb_data.text, 'html.parser')
    for link in soup.select('tr.zzinfo td.t a.t'):
        urls.append(link.get('href').split('?')[0])  #append是指在列表后面添加 split是一个截断函数以“?”截断
    return urls

def get_item_info():    #获取目标的函数
    urls = get_links_from()
    time.sleep(4)
    for url in urls: #一个for循环 让urls里面的所有url都解析出来
        wb_data = requests.get(url)
        soup = BeautifulSoup(wb_data.text, 'html.parser')
        data = {
            'title': soup.title.text,
            'price': soup.select('span.price_now')[0].text,
            'area': list(soup.select('.palce_li')[0].stripped_strings),
            'look': soup.select('.look_time')[0].text,
            'discription': soup.select('div.baby_kuang')[0].text



        }
        with open('58tc.txt', 'a+', encoding='utf-8')as f:    # 保存为文本
            f.write(str(data))
        print(data)




get_item_info()


 

你可能感兴趣的:(python处子秀)