文档章节

(2017)新版爱站关键词采集Python脚本

w
 wsdingzi17
发布于 2017/08/31 16:23
字数 243
阅读 45
收藏 0

爱站(aizhan)进入2017年经历了一次大改版,此前的采集脚本无法获取数据了,现在重新更新针对2017年新版爱站关键词采集工具。
python环境:python3.5

'''
@ 2017新版爱站采集
@ laoding
'''
import requests
from bs4 import BeautifulSoup
import csv

def getHtml(url):
    try:
        # 替换成自己的agent
        headers = {
            "Use-Agent":""
        }
        r = requests.get(url,headers=headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

def writeToCsv(filepath,sj):
    with open(filepath,"a+",newline="") as f:
        f_csv = csv.writer(f)
        f_csv.writerow(tuple(sj))

def getSJ(url,filepath):
    html = getHtml(url)
    soup = BeautifulSoup(html,"html.parser")
    ls = soup.select("body > div.baidurank-wrap > div.tabs-content > div.baidurank-list > table > tbody")[0].find_all("tr")
    n = len(ls)
    for m in range(0,n):
        tr = ls[m]
        keyword = tr.find_all(class_="title")[0].get_text().strip()
        sj =[ele.get_text().strip() for ele in tr.find_all(class_="center")]
        sj.insert(0, keyword)
        writeToCsv(filepath,sj)
        print("%s done" %m)

def main():
    filepath = "F:/test.csv" # 替换成自己的导出结果的文件路径
    for n in range(1,51): 
        url = "http://baidurank.aizhan.com/baidu/xxx.com/-1/0/{}/".format(n) # xxx.com 替换成查询的地址
        getSJ(url,filepath)
        print("%s finish" %n)

if __name__ == '__main__':
    main()

结果如下:

© 著作权归作者所有

共有 人打赏支持
w
粉丝 0
博文 1
码字总数 243
作品 0
程序员
私信 提问
python中文分词,使用结巴分词对python进行分词

在采集美女站时,需要对关键词进行分词,最终采用的是python的结巴分词方法. 中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词。其基本实现原理有三点: 基于Trie树结构实现...

yangjiyue0520
2017/11/04
0
0
PyConChina2016 (深圳)

  大会详情   开源编程语言Python近年来在互联网、游戏、云计算、大数据、运维、企业软件等领域有非常多的应用。   PyCon大会是Python语言社群全球性的盛会,PyConChina是由CPyUG(华蠎...

活动家
2016/09/05
247
1
我是不是喜欢上她了??

哈!她指的是python 由于有些东西要采集 就用PHP写了个采集脚本,但是经常运行到半夜 就是显示 内存超出 然后前些天 第一次使用python 改写了那个采集脚本 写了三天(边查资料边写的) 最后运行 ...

匿名t3a
2013/11/11
1K
19
Python性能分析 (Profiling)

性能分析(Profiling)可用于分析程序的运行时间主要消耗在何处,以便有效优化程序的运行效率。 Profiling可分为两步,一是运行程序收集程序不同部分运行时间的数据,二是数据的可视化和分析...

索隆
2012/05/02
0
0
使用python进行数据的采集 编辑 删除

搞了十多年的程序,最近转行做网站,经过一番的调查研究,最终选择了美女图片站http://www.gg4493.cn。 这就带来了一个问题,必须要到网站各大美女站点进行图片采集,之前都是采用java进行数...

yangjiyue0520
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
7
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
7
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
8
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
6
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部