找一个github上用python写的爬虫项目

找一个github上用python写的爬虫项目 网上教程好少啊 想要一个开源的项目学习
谢谢大佬们了

1个回答

不知道你说的爬虫项目是什么意思,是爬虫的库么?scrapy就不错。至于爬具体网站,这个每个网站都不同,没法通用。

最好给出具体的需求。

而且爬虫的代码都不太复杂,上升不到“项目”的高度。google下多的是,

syso_love
syso_love 我找到了一个连接https://blog.csdn.net/xudailong_blog/article/details/78858333 这个就挺不错的 C币给你了 谢了大佬
一年多之前 回复
syso_love
syso_love 又是你 大佬 不是库 比如说中国zhiwang的开源爬虫项目
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ython.pygal/reuqests学习范例-爬取github上Python热度

ython.pygal/reuqests学习范例-爬取github上Python热度,第31个位置上有一个图案型的符号,导致在读取description时出错![图片说明](https://img-ask.csdn.net/upload/201805/31/1527776424_676653.gif)

python3爬虫登陆需要验证码时的相关问题

最近学习python的爬虫,用的是lxml库。 然后如果要用爬虫登陆带验证码的网站,需要通过-检查-network-(登陆的信息)-from data,来构造爬虫。然后,from-data里面的信息是以字典的形式储存的,但是如下图:![图片说明](https://img-ask.csdn.net/upload/201905/13/1557736848_710314.jpg) 这个from-data里面,有两个名字一样的健,只是对应的值不一样,但是根本没有办法构造名字相同的两个键值对,这种情况要怎么操作,求助。。。。

GitHub下载的豆瓣爬虫程序,运行出现Process finished with exit code 0,求助

本人不是很懂爬虫,用的别人上传豆瓣爬虫的代码运行不出来结果也没有报错,百度了一下说是因为没有写输出,但我真的脑汁都要榨干了也编不出来代码,跪求帮助,如果大神你看到又恰好有时间,拜托帮帮我这个渣渣吧。 代码如下 ``` import scrapy import sys import re import random # from douban.items import UserItem from douban.items import DoubanItem class CollectSpider(scrapy.Spider): name = 'collect_spider' user_ids = [121253425] crawl_types = ['collect_movie'] douban_types = ['collect_movie', 'wise_movie'] # 看过的电影、想看的电影、在看的电影 url templates collect_movie_tpl = 'https://movie.douban.com/people/vividtime/collect?start={}' wish_movie_tpl = 'https://movie.douban.com/people/vividtime/wish?start={}' do_movie_tpl = 'https://movie.douban.com/people/vividtime/do?start={}' douban_url_templates = { 'collect_movie': collect_movie_tpl, 'wish_movie': wish_movie_tpl, 'do_movie': do_movie_tpl, } cookies_list = [] def get_random_cookies(self): """ get a random cookies in cookies_list """ cookies = random.choice(self.cookies_list) rt = {} for item in cookies.split(';'): key, value = item.split('=')[0].strip(), item.split('=')[1].strip() rt[key] = value return rt def start_requests(self): """ entry of this spider """ for user_id in self.user_ids: for douban_type in self.douban_types: if douban_type in self.crawl_types: url_template = self.douban_url_templates[douban_type] if url_template: request_url = url_template.format(user_id, 0) + '&' else: raise Exception('Wrong douban_type: %s' % douban_type) meta = { 'url_template': url_template, 'douban_type': douban_type, 'user_id': user_id } yield scrapy.Request(url=request_url, meta=meta, callback=self.parse_first_page) def parse_first_page(self, response): """ parse first page to get total pages and generate more requests """ meta = response.meta total_page = response.xpath('//*[@id="content"]//div[@class="paginator"]/a[last()]/text()').extract() total_page = int(total_page[0]) if total_page else 1 for page in range(total_page): request_url = meta['url_template'].format(meta['user_id'], 15 * page) yield scrapy.Request(url=request_url, meta=meta, callback=self.parse_content) def parse_content(self, response): """ parse collect item of response """ meta = response.meta item_list = response.xpath('//*[@id="content"]//div[@class="grid-view"]/div') for item in item_list: douban_item = DoubanItem() douban_item['item_type'] = meta['douban_type'] douban_item['user_id'] = meta['user_id'] item_id = item.xpath('div[@class="info"]/ul/li[@class="title"]/a/@href').extract() douban_item['item_id'] = int(item_id[0].split('/')[-2]) if item_id else None item_name = item.xpath('div[@class="info"]/ul/li[@class="title"]/a/em/text()').extract() douban_item['item_name'] = item_name[0].strip() if item_name else None item_other_name = item.xpath('div[@class="info"]/ul/li[@class="title"]/a').xpath('string(.)').extract() douban_item['item_other_name'] = item_other_name[0].replace(douban_item['item_name'], '').strip() if item_other_name else None item_intro = item.xpath('div[@class="info"]/ul/li[@class="intro"]/text()').extract() douban_item['item_intro'] = item_intro[0].strip() if item_intro else None item_rating = item.xpath('div[@class="info"]/ul/li[3]/*[starts-with(@class, "rating")]/@class').extract() douban_item['item_rating'] = int(item_rating[0][6]) if item_rating else None item_date = item.xpath('div[@class="info"]/ul/li[3]/*[@class="date"]/text()').extract() douban_item['item_date'] = item_date[0] if item_date else None item_tags = item.xpath('div[@class="info"]/ul/li[3]/*[@class="tags"]/text()').extract() douban_item['item_tags'] = item_tags[0].replace(u'标签: ', '') if item_tags else None item_comment = item.xpath('div[@class="info"]/ul/li[4]/*[@class="comment"]/text()').extract() douban_item['item_comment'] = item_comment[0] if item_comment else None item_poster_id = item.xpath('div[@class="pic"]/a[1]/img[1]/@src').extract() douban_item['item_poster_id'] = int(item_poster_id[0].split('/')[-1].split('.')[0][1:]) if item_poster_id else None yield douban_item ```

python爬虫时报ConnectionResetError,这个怎么解决啊

在用requests模块请求时会报这个错误,加了请求头也没有用,网上查了资料有人说 是因为没有加user-agent,但是加了也没有用,还有的说python的包问题,然后也安装了各种包也没有,这个网址从浏览器请求是可以的,所以也不会是被服务器禁爬的原因, 有哪位知道什么原因吗 ![图片说明](https://img-ask.csdn.net/upload/202004/13/1586768429_564888.jpg)

python爬虫爬取数据存储进数据库的问题

一直说我主键已存在,无法进行存储 我做的爬虫是csdn爬虫,针对于论坛一个版块,爬取某几页的所有帖子 我用的是flask-sqlalchemy来进行操作数据库,下面是三个需要用到的模型: ``` class Topic(db.Model): answer = relationship('Answer', backref='topic', lazy='dynamic') author_id = Column(String(30), ForeignKey('user.id')) id=Column(String(30),primary_key=True) title = Column(String(30)) author_name=Column(String(30)) create_time = Column('create_time', Integer) answer_nums=Column(Integer,default=0) content=Column(Text) click_nums=Column(String(30),default='0') parised_nums=Column(Integer,default=0) score=Column(Integer,default=0) status=Column(String(30)) jtl=Column(String(30),default='0.0') ``` **_上面是帖子模型,跟answer模型相关联,answer模型就是一个帖子内的所有回答,而同时author_id是作为外键跟user模型相关联 **_ ``` class Answer(db.Model): id=Column(String(30),primary_key=True) topic_name=Column(String(30)) author_name=Column(String(30)) author_id=Column(String(30)) content=Column(Text) create_time = Column('create_time', Integer) parised_nums=Column(Integer,default=0) topic_id=Column(String(30),ForeignKey('topic.id')) ``` 上面是针对每一个回答的模型 ``` class User(db.Model): topic=relationship('Topic',backref='user',lazy='dynamic') id=Column(String(30),primary_key=True) click_nums=Column(String(30),default='0') original_nums=Column(Integer,default=0) #原创数 forward_nums=Column(Integer,default=0) #转发数 rate=Column(Integer,default=-1) #排名 answer_nums=Column(Integer,default=0) #评论数 parised_nums=Column(Integer,default=0) #获赞数 desc=Column(Text) #描述 industry=Column(String(40)) #工作行业 location=Column(String(40)) follower_nums=Column(Integer,default=0) #粉丝数 following_nums=Column(Integer,default=0) #关注数 level=Column(Integer) ``` 上面就是用到的三大模型: 下面是进行存储数据的代码: ``` if page == 0: html = requests.get('https://bbs.csdn.net/forums/Mobile/recommend').text else: html=requests.get('https://bbs.csdn.net/forums/Mobile/recommend',params={'page':page}).text bsoj = BeautifulSoup(html, 'lxml') tags= bsoj.find('div', class_='forums_table_c').tbody.find_all('tr') ''' 爬取这一页的帖子,至于第几页根据传进来的page所定义 tags就是里面帖子的集合 ''' for tag in tags: status=self.get_status(tag) score=self.get_score(tag) answer_nums,click_nums=self.get_click_nums_and_answer_nums(tag) ''' 上面这三个是需要爬取的几个东西,不需要理会 ''' url='https://bbs.csdn.net'+self.get_url(tag) ''' 这个url就是每一个帖子的url ''' topic=Topic(url,score,status,click_nums,int(answer_nums)) topic_db = Topic_Model(topic) ''' 初始化topic,这个topic_db就是topic模型的对象 ''' user = User(topic.author_id) user_db = User_Model(user) ''' user就是user模型的对象 ''' self.onhand(url,topic,topic_db,user_db,user) def onhand(self,url,topic,topic_db,user_db,user): html=requests.get(url).text bsoj=BeautifulSoup(html,'lxml') tags=bsoj.find_all('div',class_='mod_topic_wrap post') answers=[] ''' 这一步是为了抓取一个帖子内所有的回答 ''' for tag in tags: answer=Answer(topic,tag) answer_db=Answer_Model(answer) answers.append(answer_db) ''' 抓取所有回答,并将每一个回答实例化一个Answer模型的对象 ''' topic_db.answer=answers ''' 关联数据库,将所有的answer对象都放在topic里面 ''' user_db.topic.append(topic_db) ''' user与topic关联 这里是有问题的,因为如果user已经存在再数据库里,那么就不会提交,那么这个topic增加就没意义了,但是我不知道如何解决 ''' if User_Model.query.filter_by(id=user.id).first() is None: db.session.add(user_db) db.session.commit() ''' 判断是否要存储到数据库里 ''' db.session.add(topic_db) db.session.commit() for data in answers: db.session.add(data) db.session.commit() ''' 将answer集合里的所有answer提交到数据库中 ''' ``` 下面是报错信息: ![图片说明](https://img-ask.csdn.net/upload/201904/22/1555936870_832821.png) 明明已经进行判断了,如果存在就不会进行存储,照样报错了,而且奇怪的是我debug时是这一句出现了错误: ``` db.session.add(topic_db) db.session.commit() ``` 不知道如何解决,求各位大佬帮忙

python 爬虫 如何爬取标签内容

![图片说明](https://img-ask.csdn.net/upload/201904/26/1556278899_200380.png) 想爬取 paths标签下的路径 但是路径被设置为了标签 cc = json_str['paths'] 进行爬取爬取到的是整个paths标签下的内容 怎么才能只爬取标签呢

关于使用python爬取房天下数据

由于论文需要,想要爬取房天下的二手房,于是修改简书上竹间为简的租房代码进行爬取。 修改后的代码为 ``` from bs4 import BeautifulSoup import urllib import gzip import inspect import re import pandas as pd from multiprocessing.dummy import Pool as ThreadPool import datetime import sqlite3 from time import sleep from random import choice #网页解压缩 def read_zip_url(url): fails = 0 while fails < 5: try: content = urllib.request.urlopen(url).read() content = gzip.decompress(content).decode("gb18030") #网页gb2312的编码要用这个 break except: fails += 1 print(inspect.stack()[1][3] + ' occused error') soup = BeautifulSoup(content, "lxml") return soup #划分城区 starturl = "http://esf.km.fang.com/house/i31/" soup = read_zip_url(starturl) area_first_soup = soup.find_all('div',id = 'list_D02_10')[0].find_all('a') del area_first_soup[-2] del area_first_soup[0] area_first = [] for i in area_first_soup: area_first.append("http://esf.km.fang.com" + i.get('href')) #按价格划分 area_second = [] for i in area_first: soup = read_zip_url(i) area_second_soup = soup.find_all('li',id = 'list_D02_11')[0].find_all('a') del area_second_soup[0] for i in area_second_soup: area_second.append("http://esf.km.fang.com" + i.get('href')) #按房屋类型划分 area_third = [] def area_third_func(li): soup = read_zip_url(li) area_third_soup = soup.find_all('li',id = 'list_D02_13')[0].find_all('a') del area_third_soup[0] for i in area_third_soup: area_third.append("http://esf.km.fang.com" + i.get('href')) pool = ThreadPool(4) pool.map(area_third_func, area_second) pool.close() pool.join() area_fourth = [] def area_fourth_func(li): soup = read_zip_url(li) if soup.find(text=re.compile("很抱歉")) == None: pagenum1 = soup.find_all('span', class_ = 'txt')[0].get_text() pagenum = int(re.findall(r'\d+',pagenum1)[0]) splitted = li.split('-') for j in range(1, int(pagenum)+1): new_url = (splitted[0]+ '{0}' + splitted[1] + '{0}' + splitted[2]+ '{0}' + 'i3{1}').format('-',j) area_fourth.append(new_url) pool = ThreadPool(4) pool.map(area_fourth_func, area_third) pool.close() pool.join() finalinks = [] def get_links(li): soup = read_zip_url(li) urlist = soup.select('a[href^="/chushou/"]') for i in urlist: href = 'http://esf.km.fang.com' + i.get('href') if href not in finalinks: finalinks.append(href) sleep(0.1) pool = ThreadPool(4) pool.map(get_links, area_fourth) pool.close() pool.join() today = datetime.date.today().strftime("%Y%m%d") finalinks = pd.DataFrame(finalinks) finalinks = finalinks.drop_duplicates() finalinks.to_csv("%s" %'sf_links'+today + '.csv') ``` 希望各位大大指导,感激不尽

如何获得网站api的url

最近在学习“Python编程,从入门到实践”,里面有一章讲从GitHub的API上获取开源项目的信息,比如利用“https://api.github.com/search/repositories?q=language:python&sort=stars”就可以获得所有Python项目的信息。 我的问题是,假如想从其它的网站获取信息,那么该怎么调用api呢?同时api调用的语法规则又是怎样的呢?

有没有大神爬过cnvd?求交流交流经验!

爬的时候会出现http error521,好烦呀,用了好多方法都不行~求大神带飞呀

爬取疫情数据(python代码及讲解)

网站 爬取数据![图片说明](https://img-ask.csdn.net/upload/202005/14/1589437688_463764.jpg)

想爬取Googleplay上的一些数据,发现了一个api是ruby写的 不知道应该用什么编译器打开

我想爬取Googleplay上的一些数据,发现了一个api是ruby写的 不知道应该用什么编译器打开,也不知道是什么工程项目,之前没有了解过ruby的相关内容,应该如何入门呢,请各位大神指点一下。 ![](http://img.bbs.csdn.net/upload/201510/10/1444477290_235516.png) 这是工程项目的截图 [https://github.com/cctiger36/google_play_reviews](https://github.com/cctiger36/google_play_reviews "") 这是工程在github上的链接

Appium+Python爬虫无法启动APP

非计算机专业,初学python和appium,需要抓取小红书APP的数据,连接夜神模拟器,但是无法启动APP,一直报错找不到原因,下面放上appium工作日志希望各路大神可以帮帮忙。谢谢大家! ``` [W3C] Calling AppiumDriver.createSession() with args: [{"platformName":"Android","deviceName":"127.0.0.1:62025","appPackage":"com.xingin.xhs","platformVersion":"5.1.1","appActivity":".activity.SplashActivity","noReset":true,"unicodeKeyboard":true},null,{"firstMatch":[{"platformName":"Android","appium:deviceName":"127.0.0.1:62025","appium:appPackage":"com.xingin.xhs","appium:platformVersion":"5.1.1","appium:appActivity":".activity.SplashActivity","appium:noReset":true,"appium:unicodeKeyboard":true}]}] [BaseDriver] Event 'newSessionRequested' logged at 1553679403156 (17:36:43 GMT+0800 (中国标准时间)) [Appium] DeprecationWarning: 'automationName' capability was not provided. Future versions of Appium will require 'automationName' capability to be set for Android sessions. [Appium] Setting automation to 'UiAutomator1'. [Appium] Creating new AndroidDriver (v4.8.0) session [Appium] Capabilities: [Appium] platformName: Android [Appium] deviceName: 127.0.0.1:62025 [Appium] appPackage: com.xingin.xhs [Appium] platformVersion: 5.1.1 [Appium] appActivity: .activity.SplashActivity [Appium] noReset: true [Appium] unicodeKeyboard: true [BaseDriver] W3C capabilities {"alwaysMatch":{"platformNa... and MJSONWP desired capabilities {"platformName":"Android","... were provided [BaseDriver] Creating session with W3C capabilities: {"alwaysMatch":{"platformNa... [BaseDriver] Session created with session id: 4aa3fc42-b895-499c-b714-aaaf47854f3a [AndroidDriver] Java version is: 1.8.0_201 [AndroidDriver] Retrieving device list [ADB] Trying to find a connected android device [ADB] Getting connected devices... [ADB] 1 device(s) connected [AndroidDriver] Looking for a device with Android '5.1.1' [ADB] Setting device id to 127.0.0.1:62001 [ADB] Getting device platform version [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell getprop ro.build.version.release' [ADB] Current device property 'ro.build.version.release': 5.1.1 [AndroidDriver] Using device: 127.0.0.1:62001 [ADB] Setting device id to 127.0.0.1:62001 [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell getprop ro.build.version.sdk' [ADB] Current device property 'ro.build.version.sdk': 22 [ADB] Device API level: 22 [AndroidDriver] App file was not listed, instead we're going to run com.xingin.xhs directly on the device [AndroidDriver] Checking whether package is present on the device [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell pm list packages com.xingin.xhs' [AndroidDriver] Starting Android session [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 wait-for-device' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell echo ping' [AndroidDriver] Pushing settings apk to device... [ADB] Getting install status for io.appium.settings [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell dumpsys package io.appium.settings' [ADB] 'io.appium.settings' is not installed [ADB] App 'C:\Users\zlp\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\io.appium.settings\apks\settings_apk-debug.apk' is not installed [ADB] Installing 'C:\Users\zlp\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\io.appium.settings\apks\settings_apk-debug.apk' [ADB] Skipping permissions grant option, since the current API level 22 does not support applications permissions customization [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 install C\:\\Users\\zlp\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\io.appium.settings\\apks\\settings_apk-debug.apk' [ADB] Install command stdout: pkg: /data/local/tmp/settings_apk-debug.apk [ADB] Success [ADB] Getting IDs of all 'io.appium.settings' processes [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell 'pgrep --help; echo $?'' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell 'pidof --help > /dev/null; echo $?'' [ADB] Using ps-based PID detection [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell ps' [AndroidDriver] Granting android.permission.SET_ANIMATION_SCALE, CHANGE_CONFIGURATION, ACCESS_FINE_LOCATION by pm grant [ADB] Granting permissions ["android.permission.SET_ANIMATION_SCALE","android.permission.CHANGE_CONFIGURATION","android.permission.ACCESS_FINE_LOCATION"] to 'io.appium.settings' [ADB] Got the following command chunks to execute: [["pm","grant","io.appium.settings","android.permission.SET_ANIMATION_SCALE",";","pm","grant","io.appium.settings","android.permission.CHANGE_CONFIGURATION",";","pm","grant","io.appium.settings","android.permission.ACCESS_FINE_LOCATION",";"]] [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell pm grant io.appium.settings android.permission.SET_ANIMATION_SCALE \; pm grant io.appium.settings android.permission.CHANGE_CONFIGURATION \; pm grant io.appium.settings android.permission.ACCESS_FINE_LOCATION \;' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell am start -W -n io.appium.settings/.Settings -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell settings put secure mock_location 1' [Logcat] Starting logcat capture [AndroidDriver] Enabling Unicode keyboard support [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell settings get secure default_input_method' [AndroidDriver] Unsetting previous IME com.android.inputservice/.InputService [AndroidDriver] Setting IME to 'io.appium.settings/.UnicodeIME' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell ime enable io.appium.settings/.UnicodeIME' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell ime set io.appium.settings/.UnicodeIME' [ADB] Getting device platform version [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell getprop ro.build.version.release' [ADB] Current device property 'ro.build.version.release': 5.1.1 [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell wm size' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell getprop ro.product.model' [ADB] Current device property 'ro.product.model': MI 6 [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell getprop ro.product.manufacturer' [ADB] Current device property 'ro.product.manufacturer': Xiaomi [AndroidDriver] No app sent in, not parsing package/activity [AndroidDriver] No app capability. Assuming it is already on the device [AndroidBootstrap] Watching for bootstrap disconnect [ADB] Forwarding system: 4724 to device: 4724 [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 forward tcp\:4724 tcp\:4724' [UiAutomator] Starting UiAutomator [UiAutomator] Moving to state 'starting' [UiAutomator] Parsing uiautomator jar [UiAutomator] Found jar name: 'AppiumBootstrap.jar' [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 push C\:\\Users\\zlp\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-android-driver\\bootstrap\\bin\\AppiumBootstrap.jar /data/local/tmp/' [ADB] Attempting to kill all uiautomator processes [ADB] Getting IDs of all 'uiautomator' processes [ADB] Using ps-based PID detection [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell ps' [ADB] No 'uiautomator' process has been found [UiAutomator] Starting UIAutomator [ADB] Creating ADB subprocess with args: ["-P",5037,"-s","127.0.0.1:62001","shell","uiautomator","runtest","AppiumBootstrap.jar","-c","io.appium.android.bootstrap.Bootstrap","-e","pkg","com.xingin.xhs","-e","disableAndroidWatchers",false,"-e","acceptSslCerts",false] [UiAutomator] Moving to state 'online' [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Loading json... [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Registered crash watchers. [AndroidBootstrap] Android bootstrap socket is now connected [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell dumpsys window' [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Client connected [AndroidDriver] Screen already unlocked, doing nothing [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell am start -W -n com.xingin.xhs/.activity.SplashActivity -S' [AndroidDriver] Shutting down Android driver [ADB] Running 'D:\android-sdk\sdk\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62001 shell am force-stop com.xingin.xhs' [BaseDriver] Event 'newSessionStarted' logged at 1553679571306 (17:39:31 GMT+0800 (中国标准时间)) [W3C] Encountered internal error running command: Error: Cannot start the 'com.xingin.xhs' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command 'D\:\\android-sdk\\sdk\\adt-bundle-windows-x86_64-20140702\\sdk\\platform-tools\\adb.exe -P 5037 -s 127.0.0.1\:62001 shell am start -W -n com.xingin.xhs/.activity.SplashActivity -S' timed out after 20000ms'. Try to increase the 20000ms adb execution timeout represented by 'adbExecTimeout' capability [W3C] at ADB.apkUtilsMethods.startApp (C:\Users\zlp\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\apk-utils.js:144:11) [HTTP] <-- POST /wd/hub/session 500 168162 ms - 1794 [HTTP] ```

python tkinter 使用多进程时,会弹出很多个相同的界面

python爬虫小白,这两天在做一个m3u8视频下载, 在PyCharm 程序是正常运行的, 打包成exe 运行是就会出现,打开与设置的进程数相同数弹框 ,大佬有空的帮忙看一下呗 代码放置在这里面 https://github.com/wenglei96/MP4.git

如何跑git上面的python的api抓取代码+oauth2认证的问题

(使用mac)编程入门都没有的新手提问: 我想要爬取一些patreon平台的api,然后存json文件,然后下载了这个git后不知道怎么去用 https://github.com/Patreon/patreon-python 还有就是做到第第四步卡住了https://docs.patreon.com/#step-4-validating-receipt-of-the-oauth-token 大致是这个报错{'error': 'invalid_grant'} _,直接输入那个网页的话就是405MethodNotAllowed_ 完全编程小白,希望能仔细讲解,可追加c币

登录网站后自己的Authorization如何获得

是在网页版知识星球上面的,现在想用爬虫爬取上面的内容,但是不知道怎么获取Authorization,各位大神麻烦指点一下

unittest,selenium驱动浏览器的时候,浏览器只能打开一次是什么问题????、?

源码: ``` from selenium import webdriver driver=webdriver.Chrome() import unittest class Test_selenium(unittest.TestCase): def setUp(self) -> None: driver.get('https://cn.bing.com/') def tearDown(self) -> None: driver.quit() def test_add1(self): pass def test_add2(self): pass if __name__ == '__main__': unittest.main() ``` 报错信息 ``` Testing started at 20:40 ... E:\GitHub\Web_Framework\venv\Scripts\python.exe "E:\Program Files\JetBrains\PyCharm Community Edition 2019.2.5\helpers\pycharm\_jb_unittest_runner.py" --target test1.Test_selenium Launching unittests with arguments python -m unittest test1.Test_selenium in E:\GitHub\Python_Study\20200221 Error Traceback (most recent call last): File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connection.py", line 156, in _new_conn conn = connection.create_connection( File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\util\connection.py", line 84, in create_connection raise err File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\util\connection.py", line 74, in create_connection sock.connect(sa) ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connectionpool.py", line 665, in urlopen httplib_response = self._make_request( File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connectionpool.py", line 387, in _make_request conn.request(method, url, **httplib_request_kw) File "E:\Program Files\Python\Python3.8\lib\http\client.py", line 1230, in request self._send_request(method, url, body, headers, encode_chunked) File "E:\Program Files\Python\Python3.8\lib\http\client.py", line 1276, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "E:\Program Files\Python\Python3.8\lib\http\client.py", line 1225, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "E:\Program Files\Python\Python3.8\lib\http\client.py", line 1004, in _send_output self.send(msg) File "E:\Program Files\Python\Python3.8\lib\http\client.py", line 944, in send self.connect() File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connection.py", line 184, in connect conn = self._new_conn() File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connection.py", line 168, in _new_conn raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x0000020FBA782100>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "E:\Program Files\Python\Python3.8\lib\unittest\case.py", line 60, in testPartExecutor yield File "E:\Program Files\Python\Python3.8\lib\unittest\case.py", line 672, in run self._callSetUp() File "E:\Program Files\Python\Python3.8\lib\unittest\case.py", line 630, in _callSetUp self.setUp() File "E:\GitHub\Python_Study\20200221\test1.py", line 8, in setUp driver.get('https://cn.bing.com/') File "E:\Program Files\Python\Python3.8\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get self.execute(Command.GET, {'url': url}) File "E:\Program Files\Python\Python3.8\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 319, in execute response = self.command_executor.execute(driver_command, params) File "E:\Program Files\Python\Python3.8\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 374, in execute return self._request(command_info[0], url, body=data) File "E:\Program Files\Python\Python3.8\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 397, in _request resp = self._conn.request(method, url, body=body, headers=headers) File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\request.py", line 79, in request return self.request_encode_body( File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\request.py", line 171, in request_encode_body return self.urlopen(method, url, **extra_kw) File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\poolmanager.py", line 330, in urlopen response = conn.urlopen(method, u.request_uri, **kw) File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connectionpool.py", line 747, in urlopen return self.urlopen( File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connectionpool.py", line 747, in urlopen return self.urlopen( File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connectionpool.py", line 747, in urlopen return self.urlopen( File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\connectionpool.py", line 719, in urlopen retries = retries.increment( File "E:\Program Files\Python\Python3.8\lib\site-packages\urllib3\util\retry.py", line 436, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=13604): Max retries exceeded with url: /session/5a91f5a3ba7b7efd9309a569fffeeb9d/url (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000020FBA782100>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')) Assertion failed Ran 2 tests in 12.993s FAILED (errors=1) Process finished with exit code 1 Assertion failed Assertion failed ```

携程机票爬取的URL一系列怎么找呢

百度了以前的操作发现携程网页好像完全变样了,用以前的含有所有json数据的网址,出现是404找不到。就是很想问问现在爬取携程数据该用哪一个网址呢?http://flights.ctrip.com/domesticsearch/search/SearchFirstRouteFlights"这个好像

我这个还能解决么,加了headers还是403

![图片说明](https://img-ask.csdn.net/upload/201907/07/1562513628_380809.png) 这个不懂怎么解决

怎么采集空气质量发布系统系统的数据(急)

怎么采集空气质量发布系统系统的数据,火车头,php爬虫。具体操作

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

立即提问
相关内容推荐