问 题 在爬取"http://www.haodf.com/doctor/DE4r08xQdKSLBVM8i9sHYQ8uQGIO.htm"这个页面的时候, 发现"擅长"和"执业经历"这两个信息通过beautifulsoup是取不到的, 我选取这两个信息的代码如下: soup.select('#full_DoctorSpecialize').get_text(strip=True) soup.select('#full').get_text(strip=True) 查询页面发现这两个信息好像是通过JS查询的结果, 除了把网页全部正则表达式匹配的方法, 请教各位: 1, 这两个信息能否直接取到? 2, 除了类似"Selenium"这样的工具, 是否还有其他方式能够取到这两个信息? 3, 能否通过分析查询接口的方式解决? 谢谢 解决方案 这2个信息可以直接获取,只是信息包含在JS块中BigPipe.onPageletArrive({这个里面}) , 可以通
以下是关于 网页爬虫 的编程技术问答
需要爬取三峡水库的实时水情数据,可以在网页中选择日期显示水情信息,如果一天天选择再复制数据发现很是耗时,我现在需要将下图中三峡水利枢纽2014年-2016年每天的数据爬下来。 网址如下: http://www.ctgpc.com.cn/sxjt/... 通过浏览器自带的检查工具,右键检查元素,查看 network,查看调用的 ajax API 地址:初步分析后发现是通过ajax调用了以下网址,并用POST传递了一个日期数据,例如今天2017-02-15给该网址: http://www.ctgpc.com.cn/eport... Header如下: Response如下: 之前有搜索到类似的问题:https://segmentfault.com/q/10... 但是按照回答并没能解决我的疑惑,因此在这里求助各位前辈,麻烦大家了
问 题 browser.get(url) now_handle = browser.current_window_handle time.sleep(1) hrefs=browser.find_elements_by_xpath('//li[@class="tb-a1"]') for href in hrefs: href.click() all_handles = browser.window_handles for handle in all_handles: if handle != now_handle: browser.switch_to_window(handle) time.sleep(0.5) print browser.page_source 这
问 题 用phpfetch框架写了个php的爬虫,他这个框架的用法是执行php filename.php命令(因为我放在了阿里云上,所以用的putty),但是这样的话,我的电脑就不能关putty(电脑也不能关机),否则的话爬虫就会停止执行。 我想问怎么才能我输上执行php进程的命令以后,我就可以关掉putty,然后爬虫爬完一遍自己结束就好了。 解决方案 nohup php filename.php & >/dev/null 更建议的方法是使用screen: //运行screen命令 [litp@ubuntu ~]$ screen //输入你的命令 [litp@ubuntu ~]$ php filename.php //断开screen //Ctrl + a d //这时你可以退出putty了 //当你再登陆,想知道之前命令运行结果时 [litp@ubuntu ~]$ screen -r //这时你可以看到之前的命令的运行结果和输出 //更多关于scree
问 题 在爬天猫数据的时候出现Redirect Limits的报错,猜测是302一直跳转的问题? 然后试着模拟了cookie,发现有三个值是必须要有的 cookie2=; t=; _tb_token_= 但是苦于这三个值不知道如何获取,所以部署到线上就出错了,有高手知道如何解决吗?谢谢 解决方案 先拉一下天描的主页把cookie存下来,再去访问具体的页面 import requests session = requests.Session() session.headers = {'user-agent': '填写你的浏览器值'} session.get('店铺首页') r = session.get('具体要访问的页面') printr.text
问 题 我用这样的程序去爬类似的有验证码的网站,都能取到正确的数据。只有这个网站,很奇怪啊!一直验证码错误,我只能用代理IP去爬,程序运行两三次,就会IP封了。求解,之前一直以为是取验证码图片时,验证码刷新了,所以不对。所以我直接取的验证码,然后再去页面get数据。其他网站用这个方法都能行,只有这个一直错误! !!!!!!补充:我在fiddler里面看到的过程是,首先手动输入验证码点击搜索:1.返回验证码输入的对错(传入验证码作为参数) 2.返回搜索的结果 3.重新生成新的验证码 。问题来了,程序中开始就获取验证码图片是对还是错?应该怎么做呢?我写过的爬虫是验证码传进搜索的url里,作为其中一个参数,这样很容易就取到了。但是现在遇到的是,验证码和搜索url无关,验证码作为参数传入一个url,只是返回验证码错误正确的结果。 #coding=utf-8 #from bs4 import BeautifulSoup import urllib import urllib2 i
问 题 import sys import time import requests import json reload(sys) sys.setdefaultencoding('utf-8') time=int(time.time()) session=requests.session() user_agent='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36' headers={'User-Agent':user_agent,'Host':'xygs.gsaic.gov.cn','Connection':'keep-alive','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'} param
问 题 问题描述:pyspider运行一段时间(一天到三天不等)后调度器自动退出.重启pyspider能继续运行 运行环境:linux mint 17.2 通过pip安装的pyspider.使用mongodb做为数据库. 启动配置: { "taskdb": "mongodb+taskdb://localhost/taskdb", "projectdb": "mongodb+projectdb://localhost/projectdb", "resultdb": "mongodb+resultdb://localhost/resultdb", "webui": { "username": "admin", "password": "123456", "need-auth": true } } 终端报错: [E 160522 09:37:38 scheduler:499] localhost:27017: [Errno
问 题 请问大家能不能给我一点提点,我想要知道有没有 简单 一点的 爬虫 案例可以让我摸索学习 目前已知的爬虫工具有: Beautiful Soup Scrapy cola pyspider PyQuery grab 这个问题已被关闭,原因:无法获得确切结果的问题 解决方案 你如果真的沒有概念,以下有一些資訊給你參考,不過重點還是你要去看... 首先是甚麼是 網路爬蟲(web crawler): 可以簡單的先看一下 wiki-網路爬蟲 再來這個網站: 大數學堂 有一些簡單的教學(還有影片),相信是非常適合初學者的,你可以從 什麼是網路爬蟲 這篇開始 接著是 入門教學: 其實有個很簡單的方法,挑一個爬蟲工具去讀文檔就好,如果你沒甚麼方向,你可以選擇看看 Beautiful Soup 中文文檔,他是中文版的,也不算太複雜,花點時間就可以整個看完。 剛剛 大數學堂 有一系列的入門教學 和 實戰
问 题 来自 Python网络数据采集的例子: from urllib.request import urlopen from bs4 import BeautifulSoup import datetime import random import re random.seed(datetime.datetime.now()) def getLinks(articleUrl): html = urlopen("http://en.wikipedia.org"+articleUrl) bsObj = BeautifulSoup(html) return bsObj.find("div", {"id":"bodyContent"}).findAll("a", href=re.compile("^(/wiki/)((?!:).)*$")) links = getLinks("/wiki/Kevin_Bacon") while len(links) > 0: newArticle
问 题 练习爬虫,抓取链家页面信息,链家页面是utf-8,print出来后中文乱码 import requests from bs4 import BeautifulSoup url = 'http://nj.lianjia.com/xiaoqu/' html = requests.get(url) soup = BeautifulSoup(html.text,'lxml') title = soup.title.get_text() print(title) 得到的是“å京å°åºäºææ¿(å京é¾å®¶ç½)”这玩意,请问如何能正常显示中文? 解决方案 # -*- coding: utf-8 -*- import requests from bs4 import BeautifulSoup url = 'http://nj.lianjia.com/xiaoqu/' html = requests.get(url) sou
问 题 同样的代理 socket 地址,配置 requests 能返回请求页面的 dom 配置给 pyspider 返回的是: [E 170727 13:14:38 base_handler:203] HTTP 599: Failed connect to www.douban.com:808; Resource temporarily unavailable Traceback (most recent call last): File "/usr/local/python27/lib/python2.7/site-packages/pyspider/libs/base_handler.py", line 196, in run_task result = self._run_task(task, response) File "/usr/local/python27/lib/python2.7/site-packages/
问 题 var encrypt = new JSEncrypt(); encrypt.setPublicKey(pubKey); return encrypt.encrypt(pwd); 其中pubkey是前端公钥字符串 pwd是明文密码 这个应该是rsa加密 怎么用python实现这个加密? 这个字符串怎么构造公钥文件? 解决方案 试试看 pycrypto安装: pip install pycrypto 或者 http://www.voidspace.org.uk/p...下载对应的预安装包 public.txt(或者其它名) -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC7kw8r6tq43pwApYvkJ5laljaN9BZb21TAIfT/vexbobzH7Q8SUdP5uDPXEBKzOjx2L28y7Xs1d9v3tdPfKI2LR7PAzWB