当前位置:首页 » 编程语言 » python自动评论

python自动评论

发布时间: 2022-05-09 01:31:41

1. python语言能做什么它应用在那方面

Python是一种支持面向对象的解释性高级语言,Simple yet Powerful是人们对它的一致评价。它包含多种Programming Paradigm,包括Object-Oriented Programming,Procere Programming等。Python类似于Javascript,可以写出很短小但是功能强大的小程序,而Python丰富的标准库(包括系统库, __builtin__,以及完全支持正则表达式的字符串操作)为实现这些实用功能提供了坚实的基础。Python类似于C++和Java,它是一个完全支持面向对象的语言(支持多继承),但是它的语法更灵活,支持Dynamic Typing,变量从来不用进行声明便可使用,通常情况下Python的代码密度是C++的5到10倍,是Java的5倍左右。Python采用严格的缩进方式来管理代码,提高了可读性,极大的降低了代码维护的代价。Python自身包含Gargage Collection和内存管理机制,用户无需费心这些细节问题。Python支持Interactive Programming。 Python的运行时效率很高,却足以支持复杂的高层数据结构。Python是一种理想的Glue Language,也就是说我们可以用它来完成一般脚本编程所能完成的任务。你甚至还能把Python的Interactive Shell作为一个计算器来用,而从来不用担心上溢和下溢导致系统崩溃(上溢一般不会发生,即便你计算2的100000次方都没有问题,下溢则会抛出异常)。可以说,Python是一个渗透了多种计算机语言特性的极佳的设计。在Python Shell里面键入import this,Shell将输出Python最核心的一些设计理念:

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
从这些抽象的概念出发,很难直接对应到Python这样一个如此具体的语言。但是在真正的学习过程中,不断回头看看这些原则性的东西,的确会有所领悟,会能理解为什么 Python被设计成这个样子,而不是别的,同时也会不得不叹服Python设计者Guido van Rossum的深厚功力了。

http://learn.tsinghua.e.cn:8080/2003214889/html/tech/lang_sc/python.htm
====================
对于许多程序员来说,Python的大名应该有所耳闻。而对于Python的评论大多褒贬不一。有的甚至说Python是以其慢速运行而闻名于世。在此我并不是要去评论别人的对于错,我只是站在一个比较客观的角度来谈谈Python这一计算机语言。
Python是一种解释性语言,而且属于OpenSource的项目。但是,你可以将其用于商业用途。并且可以将其放在商业的产品光盘中一同发售。当然,人们也可以从www.Python.org或者OpenSource的网站上免费获得其安装程序或者源代码。Python最初是在苹果计算机上被编译成功的,但现在他已经可以运行于世界上主流的操作平台之上了。他不只有Windows版本的。同时还有Linux,Unix等很多平台上都可以使用他,在RedHat9中,还将其作为开发必须的一项语言被安装。对于Python的代码类型,基本可分为3种,分别是字节代码,二进制代码,优化代码。他们的后缀名分别是.py .pyc .pyo 这些代码都可以直接运行。无需做任何的编译或者连接。而在使用这些类型的代码上,Python会更具不同的情况选择不同的类型。

2. 怎么用python实现新浪微博的登陆与自动评论

自动化,自动登录微博,自动发微博。 微博内容要有意义,不能是随机生成的字符。 可以设置每隔一段时间发一条微博,频率不能太快,当然也不能太慢。怎么用python实现新浪微博的登陆与自动评论

3. 想要用python3做个软件对网页自动化操作,需要搭建什么环境,如何实现

只用python就行了啊。vs和pycharm都算是编辑器没什么关系啊,就是用记事本编辑也行哦。那就用pycharm吧,大家都吹嘘它好用。
就是用python的urllib模块请求网页就可以了。
登录就是post数据,然后获得cookie(可能还有一下其他的东西),带着它就可以做一些评论。
评论就是根据按钮找到相关的网页链接,向它post/get数据。
评论采集就是请求相关的网页,获得评论的数据,可能是html或者json之类的,然后用beautifulsoup或者json分析,获得格式化后的数据。
以前用Python做过一个空间的自动点赞、自动回复说说留言、获取留言的程序。
只要就是分析链接和js脚本费点时间。其他地方都简单。

4. 如何用python爬取一个网站的评论数据

假如一个商品全部评论数据为20w+ 默认好评15w+ 这15w+的默认好评就会不显示出来。那么我们可以爬取的数据就只剩下5w+ 接下来 我们就分别爬取全部好评 好评 中评 差评 追加评价 但是就算这些数据加起来 也仍然不足5w+ 上文的博主猜测可能有两点原因:

1.出现了数据造假,这个数字可能是刷出来的
2.真的有这么多的评论,但这时候系统可能只显示其中比较新的评论,而对比较旧的评论进行了存档。
在博主理论的基础上我也进行了很多相应的测试,就是说无论如何 我们最终都爬不到剩下的5w条数据 只能爬取一部分但这一部分数据也将近上千多条 如果有小伙伴能爬取下更多欢迎补充。

整体思路

全部评价 好评 中评 差评 追加评价的网址都是涉及到一定的参数的 只要修改网页的数据 在遍历页码 即可完成全部的爬取。

5. 如何用python获取京东的评论数据

京东商品评论信息是由JS动态加载的,所以直接抓取商品详情页的URL并不能获得商品评论的信息。因此我们需要先找到存放商品评论信息的文件。这里我们使用Chrome浏览器里的开发者工具进行查找。
具体方法是在商品详情页点击鼠标右键,选择检查,在弹出的开发者工具界面中选择Network,设置为禁用缓存(Disable cache)和只查看JS文件。然后刷新页面。页面加载完成后向下滚动鼠标找到商品评价部分,等商品评价信息显示出来后,在下面Network界面的左侧筛选框中输入proctPageComments,这时下面的加载记录中只有一条信息,这里包含的就是商品详情页的商品评论信息。点击这条信息,在右侧的Preview界面中可以看到其中包含了当前页面中的评论信息。(抓取价格信息输入prices)。

复制这条信息,并把URL地址放在浏览器中打开,里面包含了当前页的商品评论信息。这就是我们要抓取的URL地址。
仔细观察这条URL地址可以发现,其中proctId=10001234327是当前商品的商品ID。与商品详情页URL中的ID一致。而page=0是页码。如果我们要获取这个商品的所有评论,只需要更改page后面的数字即可。

在获得了商品评论的真实地址以及URL地址的规律后,我们开始使用python抓取这件商品的700+条评论信息。并对这些信息进行处理和分析。
开始前的准备工作
在开始抓取之前先要导入各种库文件,这里我们分别介绍下需要导入的每个库文件的名称以及在数据抓取和分析中的作用。requests用于进行页面抓取,time用于设置抓取过程中的Sleep时间,random用于生产随机数,这里的作用是将抓取页面的顺序打乱,re用于在抓取后的页面代码中提取需要的信息,numpy用于常规的指标计算,pandas用于进行数据汇总和透视分析,matplotlib用于绘制各站图表,jieba用于对评论内容进行分词和关键词提取。
#导入requests库(请求和页面抓取)
import requests
#导入time库(设置抓取Sleep时间)
import time
#导入random库(生成乱序随机数)
import random
#导入正则库(从页面代码中提取信息)
import re
#导入数值计算库(常规计算)
import numpy as np
#导入科学计算库(拼表及各种分析汇总)
import pandas as pd
#导入绘制图表库(数据可视化)
import matplotlib.pyplot as plt
#导入结巴分词库(分词)
import jieba as jb
#导入结巴分词(关键词提取)
import jieba.analyse

将爬虫伪装成浏览器
导入完库文件后,还不能直接进行抓取,因为这样很容易被封。我们还需要对爬虫进行伪装,是爬虫看起来更像是来自浏览器的访问。这里主要的两个工作是设置请求中的头文件信息以及设置Cookie的内容。
头文件信息很容易找到,在Chrome的开发者工具中选择Network,刷新页面后选择Headers就可以看到本次访问的头文件信息,里面包含了一些浏览器的技术参数和引荐来源信息。将这些信息直接添加到代码中就可以,这里我们将头部信息保存在headers中。

#设置请求中头文件的信息
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept':'text/html;q=0.9,*/*;q=0.8',
'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Connection':'close',
'Referer':''
}

在查看头文件信息的旁边还有一个Cookies标签,点击进去就是本次访问的Cookies信息。这里的Cookies信息与前面头文件中的Cookie信息一致,不过这里更加清晰。把Request Cookies信息复制到代码中即可,这里我们将Request Cookies信息保存在Cookie中。

#设置Cookie的内容
cookie={'TrackID':'1_VWwvLYiy1FUr7wSr6HHmHhadG8d1-Qv-TVaw8JwcFG4EksqyLyx1SO7O06_Y_XUCyQMksp3RVb2ezA',
'__jda':'122270672.1507607632.1423495705.1479785414.1479794553.92',
'__jdb':'122270672.1.1507607632|92.1479794553',
'__jdc':'122270672',
'__j':'1507607632',
'__jdv':'122270672|direct|-|none|-|1478747025001',
'areaId':'1',
'cn':'0',
'ipLoc-djd':'1-72-2799-0',
'ipLocation':'%u5317%u4EAC',
'mx':'0_X',
'rkv':'V0800',
'user-key':'216123d5-4ed3-47b0-9289-12345',
'xtest':'4657.553..'}

抓取商品评论信息
设置完请求的头文件和Cookie信息后,我们开始抓取京东商品评论的信息。前面分析URL的时候说过,URL中包含两个重要的信息,一个是商品ID,另一个是页码。这里我们只抓取一个商品的评论信息,因此商品ID不需要更改。但这个商品的评论有700+条,也就是有近80页需要抓取,因此页码不是一个固定值,需要在0-80之间变化。这里我们将URL分成两部分,通过随机生成页码然后拼接URL的方式进行抓取。
#设置URL的第一部分
url1=''
#设置URL的第二部分
url2='&pageSize=10&callback=fetchJSON_comment98vv41127'
#乱序输出0-80的唯一随机数
ran_num=random.sample(range(80), 80)

为了使抓取过程看起来更加随机,我们没有从第1页一直抓取到第80页。而是使用random生成0-80的唯一随机数,也就是要抓取的页码编号。然后再将页码编号与两部分URL进行拼接。这里我们只知道商品有700+的评论,但并不知道具体数字,所以抓取范围定位从0-80页。
下面是具体的抓取过程,使用for循环每次从0-80的随机数中找一个生成页码编号,与两部分的URL进行拼接。生成要抓取的URL地址并与前面设置好的头文件信息和Cookie信息一起发送请求获取页面信息。将获取到的页面信息进行汇总。每次请求间休息5秒针,避免过于频繁的请求导致返回空值。
#拼接URL并乱序循环抓取页面
for i in ran_num:
a = ran_num[0]
if i == a:
i=str(i)
url=(url1+i+url2)
r=requests.get(url=url,headers=headers,cookies=cookie)
html=r.content
else:
i=str(i)
url=(url1+i+url2)
r=requests.get(url=url,headers=headers,cookies=cookie)
html2=r.content
html = html + html2
time.sleep(5)
print("当前抓取页面:",url,"状态:",r)

在抓取的过程中输入每一步抓取的页面URL以及状态。通过下面的截图可以看到,在page参数后面的页码是随机生成的并不连续。
抓取完80个页面后,我们还需要对页面进行编码。完成编码后就可以看到其中所包含的中文评论信息了。后面大部分苦逼的工作就是要对这些评论信息进行不断提取和反复的清洗。
#对抓取的页面进行编码
html=str(html, encoding = "GBK")

这里建议将抓取完的数据存储在本地,后续工作可以直接从本地打开文件进行清洗和分析工作。避免每次都要重新抓取数据。这里我们将数据保存在桌面的page.txt文件中。
#将编码后的页面输出为txt文本存储
file = open("c:\\Users \\Desktop\\page.txt", "w")
file.write(html)
file.close()

读取文件也比较简单,直接open加read函数就可以完成了。
#读取存储的txt文本文件
html = open('c:\\Users\\ Desktop\\page.txt', 'r').read()

提取信息并进行数据清洗
京东的商品评论中包含了很多有用的信息,我们需要将这些信息从页面代码中提取出来,整理成数据表以便进行后续的分析工作。这里应该就是整个过程中最苦逼的数据提取和清洗工作了。我们使用正则对每个字段进行提取。对于特殊的字段在通过替换等方式进行提取和清洗。
下面是提取的第一个字段userClient,也就是用户发布评论时所使用的设备类型,这类的字段提取还比较简单,一行代码搞定。查看一下提取出来的字段还比较干净。使用同样的方法我们分别提取了以下这些字段的内容。
#使用正则提取userClient字段信息
userClient=re.findall(r',"usefulVoteCount".*?,"userClientShow":(.*?),',html)
#使用正则提取userLevel字段信息
userLevel=re.findall(r'"referenceImage".*?,"userLevelName":(.*?),',html)
#使用正则提取proctColor字段信息
proctColor=re.findall(r'"creationTime".*?,"proctColor":(.*?),',html)
#使用正则提取recommend字段信息
recommend=re.findall(r'"creationTime".*?,"recommend":(.*?),',html)
#使用正则提取nickname字段信息
nickname=re.findall(r'"creationTime".*?,"nickname":(.*?),',html)
#使用正则提取userProvince字段信息
userProvince=re.findall(r'"referenceImage".*?,"userProvince":(.*?),',html)
#使用正则提取usefulVoteCount字段信息
usefulVoteCount=re.findall(r'"referenceImage".*?,"usefulVoteCount":(.*?),',html)
#使用正则提取days字段信息
days=re.findall(r'"usefulVoteCount".*?,"days":(.*?)}',html)
#使用正则提取score字段信息
score=re.findall(r'"referenceImage".*?,"score":(.*?),',html)</pre>

还有一些字段比较负责,无法通过正则一次提取出来,比如isMobile字段,有些值的后面还有大括号。这就需要进一步的提取和清洗工作。
#使用正则提取isMobile字段信息
isMobile=re.findall(r'"usefulVoteCount".*?,"isMobile":(.*?),',html)

使用for循环配合替换功能将字段中所有的}替换为空。替换完成后字段看起来干净多了。
#替换掉最后的}
mobile=[]
for m in isMobile:
n=m.replace('}','')
mobile.append(n)

proctSize字段中包含了胸围和杯罩两类信息,为了获得独立的杯罩信息需要进行二次提取,将杯罩信息单独保存出来。
#使用正则提取proctSize字段信息
proctSize=re.findall(r'"creationTime".*?,"proctSize":(.*?),',html)

使用for循环将proctSize中的第三个字符杯罩信息提取出来,并保持在cup字段中。
#提取杯罩信息
cup=[]
for s in proctSize:
s1=s[3]
cup.append(s1)

创建评论的日期信息仅依靠正则提取出来的信息还是比较乱,无法直接使用。因此也需要进行二次提取。下面是使用正则提取出的结果。
#使用正则提取时间字段信息
creationTime1=re.findall(r'"creationTime":(.*?),"referenceName',html)

日期和时间信息处于前20个字符,在二次提取中根据这个规律直接提起每个条目的前20个字符即可。将日期和时间单独保存为creationTime。
#提取日期和时间
creationTime=[]
for d in creationTime1:
date=d[1:20]
creationTime.append(date)

在上一步日期和时间的基础上,我们再进一步提取出单独的小时信息,方法与前面类似,提取日期时间中的第11和12个字符,就是小时的信息。提取完保存在hour字段以便后续的分析和汇总工作。
#提取小时信息
hour=[]
for h in creationTime:
date=h[10:13]
hour.append(date)

最后要提取的是评论内容信息,页面代码中包含图片的评论信息是重复的,因此在使用正则提取完后还需要对评论信息进行去重。
#使用正则提取评论信息
content=re.findall(r'"guid".*?,"content":(.*?),',html)

使用if进行判断,排除掉所有包含图片的评论信息,已达到评论去重的目的。
#对提取的评论信息进行去重
content_1=[]
for i in content:
if not "img" in i:
content_1.append(i)

完成所有字段信息的提取和清洗后,将这些字段组合在一起生成京东商品评论数据汇总表。下面是创建数据表的代码。数据表生成后还不能马上使用,需要对字段进行格式设置,例如时间和日期字段和一些包含数值的字段。具体的字段和格式设置依据后续的分析过程和目的。这里我们将creationTime设置为时间格式,并设置为数据表的索引列。将days字段设置为数值格式。
#将前面提取的各字段信息汇总为table数据表,以便后面分析
table=pd.DataFrame({'creationTime':creationTime,'hour':hour,'nickname':nickname,'proctColor':proctColor,'proctSize':proctSize,'cup':cup,'recommend':recommend,'mobile':mobile,'userClient':userClient,'userLevel':userLevel,'userProvince':userProvince,'usefulVoteCount':usefulVoteCount,'content_1':content_1,'days':days,'score':score})
#将creationTime字段更改为时间格式
table['creationTime']=pd.to_datetime(table['creationTime'])
#设置creationTime字段为索引列
table = table.set_index('creationTime')
#设置days字段为数值格式
table['days']=table['days'].astype(np.int64)
#查看整理完的数据表
table.head()

这里建议再次保存清洗和预处理完的数据表。我们这里将数据表保存为csv格式。到了这一步可以选择在Excel中完成后续的数据分析和可视化过程,也可以继续在python中完成。我们这里选择继续在python中完成后续的数据分析和可视化工作。
#保存table数据表
table.to_csv('jd_table.csv')

数据分析及可视化
分月评论数据变化趋势
首先查看京东商品评论的时间变化趋势情况,大部分用户在购买商品后会在10天以内进行评论,因此我们可以近似的认为在一个月的时间维度中评论时间的变化趋势代表了用户购买商品的变化趋势。

6. python爬取用户评价的目的与意义

是为了从互联网上抓取对于我们有价值的信息。
比如说:访问天猫的网站,搜索对应的商品,然后爬取它的评论数据,可以作为设计前期的市场调研的数据,帮助很大。
在爬虫领域,Python几乎是霸主地位,虽然C++、Java、GO等编程语言也可以写爬虫,但Python更具优势,不仅拥有优秀的第三方库,还可以为我们做很多的事情,比如:收集数据、数据储存、网页预处理等。

7. 怎样用python抓取淘宝评论

#coding=utf-8

importurllib2
importsys
importjson
importre

#设置系统默认编码为utf-8
reload(sys)
sys.setdefaultencoding("utf-8")

#Onlyforpython2
'''
只是简单的示例,没有检查无评论的情况,其它异常也可能没有检查,
你可以根据自己的需要再对代码修改
'''

#解析网页数据
defparseData(html_data,reg_str):
pattern=re.compile(reg_str)
result=re.search(pattern,html_data)
ifresult:
returnresult.groups()


#commodity_url为商品详情页面
commodity_url="http://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-9140345655.2.y3LCj0&id=44454286657"

html_data=urllib2.urlopen(commodity_url).read()
#获取用户ID和商品ID
auction_msg=parseData(html_data,r'userNumId=(.*?)&auctionNumId=(.*?)&')
ifnotauction_msg:
print"Getreviewsfailed!"#获取失败,退出
sys.exit()

reviews_url="http://rate.taobao.com/feedRateList.htm?callback=jsonp_reviews_list&currentPageNum=1&rateType=&orderType=sort_weight&userNumId=%s&auctionNumId=%s"%auction_msg

response=urllib2.urlopen(reviews_url)
reviews_data=response.read().decode("gbk")

#获取评论数据
json_str=parseData(reviews_data,r'((.*))')[0]
ifnotjson_str:
print"Getreviewsfailed!"#获取失败,退出
sys.exit()

jdata=json.loads(json_str)

#下面只打印了第一条评论,如需要打印所有,则遍历jdata["comments"]即可
printjdata["comments"][0]["content"]

8. 如何用python爬取一本书的评论用户

京东图书评论有非常丰富的信息,这里面就包含了购买日期、书名、作者、好评、中评、差评等等。以购买日期为例,使用Python + Mysql的搭配进行实现,程序不大,才100行。相关的解释我都在程序里加注了:

  • fromseleniumimportwebdriver

  • frombs4importBeautifulSoup

  • importre

  • importwin32com.client

  • importthreading,time

  • importMySQLdb

  • defmydebug():

  • driver.quit()

  • exit(0)

  • defcatchDate(s):

  • """页面数据提取"""

  • soup=BeautifulSoup(s)

  • z=[]

  • globalnowtimes

  • m=soup.findAll("div",class_="date-buy")

  • forobjinm:

  • try:

  • tmp=obj.find('br').contents

  • exceptException,e:

  • continue

  • if(tmp!=""):

  • z.append(tmp)

  • nowtimes+=1

  • returnz

  • defgetTimes(n,t):

  • """获取当前进度"""

  • return"当前进度为:"+str(int(100*n/t))+"%"

  • #———————————————————————————————————|程序开始|—————————————————————————————————

  • #确定图书大类

  • cate={"3273":"历史","3279":"心理学","3276":"政治军事","3275":"国学古籍","3274":"哲学宗教","3277":"法律","3280":"文化","3281":"社会科学"}

  • #断点续抓

  • num1=input("bookid:")

  • num2=input("pagenumber:")

  • #生成图书大类链接,共需17355*20=347100次

  • totaltimes=347100.0

  • nowtimes=0

  • #开启webdirver的PhantomJS对象

  • #driver=webdriver.PhantomJS()

  • driver=webdriver.Ie('C:Python27ScriptsIEDriverServer')

  • #driver=webdriver.Chrome('C:Python27Scriptschromedriver')

  • #读出Mysql中的评论页面,进行抓取

  • # 连接数据库

  • try:

  • conn=MySQLdb.connect(host='localhost',user='root',passwd='',db='jd')

  • exceptException,e:

  • printe

  • sys.exit()

  • # 获取cursor对象

  • cursor=conn.cursor()

  • sql="SELECT * FROM booknew ORDER BY pagenumber DESC"

  • cursor.execute(sql)

  • alldata=cursor.fetchall()

  • flag=0

  • flag2=0

  • # 如果有数据返回就循环输出,htt/review/10178500-1-154.html

  • ifalldata:

  • forrecinalldata:

  • #rec[0]--bookid,rec[1]--cateid,rec[2]--pagenumber

  • if(rec[0]!=str(num1)andflag==0):

  • continue

  • else:

  • flag=1

  • forpinrange(num2,rec[2]):

  • if(flag2==0):

  • num2=0

  • flag2=1

  • p+=1

  • link="htteview/"+rec[0]+"-1-"+str(p)+".html"

  • #抓网页

  • driver.get(link)

  • html=driver.page_source

  • #抓评论

  • buydate=catchDate(html)

  • #写入数据库

  • forzinbuydate:

  • sql="INSERT INTO ljj (id, cateid, bookid, date) VALUES (NULL, '"+rec[0]+"','"+rec[1]+"','"+z[0]+"');"

  • try:

  • cursor.execute(sql)

  • exceptException,e:

  • printe

  • conn.commit()

  • printgetTimes(nowtimes,totaltimes)

  • driver.quit()

  • cursor.close()

  • conn.close()




京东图书评论有非常丰富的信息,这里面就包含了购买日期、书名、作者、好评、中评、差评等等。以购买日期为例,使用Python + Mysql的搭配进行实现,程序不大,才100行。相关的解释我都在程序里加注了:

  • fromseleniumimportwebdriver

  • frombs4importBeautifulSoup

  • importre

  • importwin32com.client

  • importthreading,time

  • importMySQLdb

  • defmydebug():

  • driver.quit()

  • exit(0)

  • defcatchDate(s):

  • """页面数据提取"""

  • soup=BeautifulSoup(s)

  • z=[]

  • globalnowtimes

  • m=soup.findAll("div",class_="date-buy")

  • forobjinm:

  • try:

  • tmp=obj.find('br').contents

  • exceptException,e:

  • continue

  • if(tmp!=""):

  • z.append(tmp)

  • nowtimes+=1

  • returnz

  • defgetTimes(n,t):

  • """获取当前进度"""

  • return"当前进度为:"+str(int(100*n/t))+"%"

  • #———————————————————————————————————|程序开始|—————————————————————————————————

  • #确定图书大类

  • cate={"3273":"历史","3279":"心理学","3276":"政治军事","3275":"国学古籍","3274":"哲学宗教","3277":"法律","3280":"文化","3281":"社会科学"}

  • #断点续抓

  • num1=input("bookid:")

  • num2=input("pagenumber:")

  • #生成图书大类链接,共需17355*20=347100次

  • totaltimes=347100.0

  • nowtimes=0

  • #开启webdirver的PhantomJS对象

  • #driver=webdriver.PhantomJS()

  • driver=webdriver.Ie('C:Python27ScriptsIEDriverServer')

  • #driver=webdriver.Chrome('C:Python27Scriptschromedriver')

  • #读出Mysql中的评论页面,进行抓取

  • # 连接数据库

  • try:

  • conn=MySQLdb.connect(host='localhost',user='root',passwd='',db='jd')

  • exceptException,e:

  • printe

  • sys.exit()

  • # 获取cursor对象

  • cursor=conn.cursor()

  • sql="SELECT * FROM booknew ORDER BY pagenumber DESC"

  • cursor.execute(sql)

  • alldata=cursor.fetchall()

  • flag=0

  • flag2=0

  • # 如果有数据返回就循环输出,httreview/10178500-1-154.html

  • ifalldata:

  • forrecinalldata:

  • #rec[0]--bookid,rec[1]--cateid,rec[2]--pagenumber

  • if(rec[0]!=str(num1)andflag==0):

  • continue

  • else:

  • flag=1

  • forpinrange(num2,rec[2]):

  • if(flag2==0):

  • num2=0

  • flag2=1

  • p+=1

  • link="ht.com/review/"+rec[0]+"-1-"+str(p)+".html"

  • #抓网页

  • driver.get(link)

  • html=driver.page_source

  • #抓评论

  • buydate=catchDate(html)

  • #写入数据库

  • forzinbuydate:

  • sql="INSERT INTO ljj (id, cateid, bookid, date) VALUES (NULL, '"+rec[0]+"','"+rec[1]+"','"+z[0]+"');"

  • try:

  • cursor.execute(sql)

  • exceptException,e:

  • printe

  • conn.commit()

  • printgetTimes(nowtimes,totaltimes)

  • driver.quit()

  • cursor.close()

  • conn.close()




9. 可以用Python爬虫监控一个人在微博等社交网络发出与收到的评论吗

你可以监控已授权的账户收到的评论和自动回复评论,微博是有这个相关api的,至于监控其他人的,就不是很清楚了,你可以看一下微博开放平台上的微博API
http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI

10. 如何设计Python评价知

Python[1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[2] 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
7月20日,IEEE发布2017年编程语言排行榜:Python高居首位[4] 。

热点内容
sql插入两张表 发布:2025-05-11 09:55:33 浏览:757
日本编程语言 发布:2025-05-11 09:53:52 浏览:843
手机店设置的初始密码一般是多少 发布:2025-05-11 09:33:15 浏览:402
昂科威选择哪个配置 发布:2025-05-11 09:25:50 浏览:36
怎么解决安卓视频全屏卡顿 发布:2025-05-11 09:14:55 浏览:726
汇编从编译到执行 发布:2025-05-11 09:09:04 浏览:258
安卓系统低版本如何升级 发布:2025-05-11 09:04:44 浏览:252
认证类型加密算法 发布:2025-05-11 08:58:35 浏览:562
android停靠 发布:2025-05-11 08:42:23 浏览:647
超时代加密 发布:2025-05-11 08:41:29 浏览:781