模拟登陆并抓取丁香园全部回复

大实战:

# -*- coding: utf-8 -*-
"""
Created on Thu May 16 13:25:11 2019

@author: 38418
"""
import requests
from lxml import etree
from selenium import webdriver
import time

headers = {
    'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) '
    }
url = 'https://auth.dxy.cn/accounts/login?service=http://www.dxy.cn/bbs/thread/626626#626626'

def enter(url):
    browser = webdriver.Chrome()
    browser.get(url)
    time.sleep(2)

    #转入账号密码登陆,xpath来找
    com = browser.find_element_by_xpath('//i[@class="wechat__ico ico_pc"]')
    com.click()
    
    A = browser.find_element_by_name('username')
    A.send_keys('18814170016')
    
    B = browser.find_element_by_name('password')
    B.send_keys('7021dzhDZH')
    
    C = browser.find_element_by_class_name('button')
    C.click()
    #以上OK,接下来遇到验证码了(极验式——看了书但仍有问题ing)
    
    #过了验证码 即可获得完整页面
    
def crwal(html):
    #获得源代码,再提取出相应的信息
    page = requests.get(url)
    root = page.text
    
    html = etree.HTML(root)
    other_user = html.xpath('//a[@target="_blank"]/text()')
    info_user = html.xpath('//span[@class="rfloat"]/text()')
    info_anse = html.xpath('//td[@class="postbody"]/text()')

    for z in (other_user):
        print(z)
    
    for a in (info_user):
        print(a)

    for b in (info_anse):
        print(b)
        
def main():
    p = enter(url)
    crwal(p)
    
if __name__ == '__main__':    #执行此文件时,执行以下方法
    main()
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值