正しく書式設定されたデータの代わりに、生データをPythonに送信することで、Webスクラップ処理のスピードアップを図っています。すべて置き換えホワイトスペースをハイフンに置き換えてURLを作成します。
- :データにマクロを経由して、Excelでフォーマットされ
SA 5000
26例RD EXAMPLEVILLE:
現在のデータは、エクセルのようにフォーマットされたデータをファイルとして受信されますハイフンを含むスペース
- すべてのテキストを小文字に変更します。
- テキストを貼り付けますhttp://example.com/property/
の終わりにフォーマットされたデータは、私が達成しようとしている何http://www.example.com/property/26-example-rd-exampleville-sa-5000
です:
PythonはExcelシートに移動して、上記の書式設定ルールに従って、その後にレコードを渡すために取得しますスクレーパー
ここに私がコンパイルしようとしているコードがあります。簡単に行ってください。私は非常に新しいです。
pythonの書式設定に関連するアドバイスや読書のソースがあれば幸いです。あなただけのPythonでの書式設定を行う方法を把握しようとしている場合
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import csv
from lxml import html
import xlrd
# URL_BUILDER
# Source File for UNFORMATTED DATA
file_location = "C:\Python27\Projects\REA_SCRAPER\NewScraper\ScrapeFile.xlsx"
workbook = xlrd.open_workbook(file_location)
sheet = workbook.sheet_by_name('((PythonScraperDNC))')
# REA_SCRAPER
# Pass Data from URL_BUILDER to URL_LIST []
URL_LIST = []
# Search Phrase to capture suitable URL's for Scraping
text2search = \
'''<p class="property-value__title">
RECENTLY SOLD
</p>'''
# Write Sales .CSV file
with open('Results.csv', 'wb') as csv_file:
writer = csv.writer(csv_file)
for (index, url) in enumerate(URL_LIST):
page = requests.get(url)
print '<Scanning Url For Sale>'
if text2search in page.text:
tree = html.fromstring(page.content)
(title,) = (x.text_content() for x in tree.xpath('//title'))
(price,) = (x.text_content() for x in tree.xpath('//div[@class="property-value__price"]'))
(sold,) = (x.text_content().strip() for x intree.xpath('//p[@class="property-value__agent"]'))
writer.writerow([title, price, sold])
else:
writer.writerow(['No Sale'])
を、あなたは、二重引用符が欠落しています'file_location ='行の最後。まずそれを修正して、あなたが抱えている正確な問題を教えてください。 (「動作しません」などはカウントされません)。 – smarx
最後にインデントエラーがあります。ここで共有するコードが、実行しているコードとまったく同じであることを確認してください。 – smarx
@smarx書式設定のアドバイスありがとうございます - 私はSOを数回使っていますが、コードを投稿する最良の方法を学んでいます - 投稿する前に空白をすべて削除してからCRTL-Kを押すか、原子からインデントしてからCtrl + Kを押します。 – James2086