动态内容

依赖JavaScript的动态网站,不是在第一次加载时下载全部内容,网页中展示的内容并没有出现在HTML源码中

AJAX

Asynchronous JavaScript and XML
综合了多项技术的浏览器端网页开发技术
允许JavaScript创建到服务器的HTTP请求并获得响应

阅读全文 »

借助selenium和phantomJS抓取淘宝美食信息.

配置

数据库配置

1
2
3
4
#样例
MONGO_URL='localhost'
MONGO_DB='taobao'
MONGO_TABLE='product'

声明浏览器

1
browser=webdriver.PhantomJS(service_args=SERVICE_ARGS)

浏览器配置

1
2
#不加载图片、开启缓存
SERVICE_ARGS=['--load-images=false','--disk-cache=true']

搜索

阅读全文 »

链接抓取

  • 根据首页链接抓取内容
  • 页面包含的链接放入一个set,避免重复
  • 解析robot.txt,避免下载禁止爬取的页面
  • 已经抓取过的链接放在一个set
阅读全文 »

声明浏览器对象

ubuntu下打不开chrome浏览器,重新安装了chromium-browser,并使用下面的声明语句

1
browser = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")

方案来源https://stackoverflow.com/questions/22476112/using-chromedriver-with-selenium-python-ubuntu

貌似添加chrome的path也能解决

获取元素

可以通过id,name,classname,xpath,css_selector等获得
两种写法:

阅读全文 »

Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get.

For example, given n = 2, return 1 (2 = 1 + 1); given n = 10, return 36 (10 = 3 + 3 + 4).
Note: You may assume that n is not less than 2 and not larger than 58.

思路:

阅读全文 »
0%